Merge pull request #48077 from BerriAI/litellm_backport_47670_47969_stable_1_105_x
Some checks failed
LiteLLM Rust / rust-lint (push) Has been cancelled
LiteLLM Rust / rust-test (push) Has been cancelled
LiteLLM Rust / rust-wheel (push) Has been cancelled

chore(release): backport #44345, #47670, #47969, #48055, #48103, #48110 to stable/1.105.x and cut 1.105.4
This commit is contained in:
yuneng-jiang 2026-10-23 16:15:51 -07:00 • committed by GitHub
commit a3b1add96d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
730 changed files with 14276 additions and 9759 deletions

View file

@ -1,10 +1,10 @@
# syntax=docker/dockerfile:1.7
# Base image for building
ARG LITELLM_BUILD_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:1d95114038f76513a9ace6fca107d5582b08c65981f81f61cb56bf7fd2ef216d
ARG LITELLM_BUILD_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:81211e15a86ea1d5357f284482af45730c51de45eaf10ad9ce205d6bfc2df323
# Runtime image
ARG LITELLM_RUNTIME_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:1d95114038f76513a9ace6fca107d5582b08c65981f81f61cb56bf7fd2ef216d
ARG LITELLM_RUNTIME_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:81211e15a86ea1d5357f284482af45730c51de45eaf10ad9ce205d6bfc2df323
ARG UV_IMAGE=ghcr.io/astral-sh/uv:0.11.7@sha256:240fb85ab0f263ef12f492d8476aa3a2e4e1e333f7d67fbdd923d00a506a516a
# Pinned by digest like the other base images; bump explicitly on Node upgrades.
ARG UI_BUILD_IMAGE=node:24.19-alpine3.24@sha256:d32cdf619f63fe0471182d08996dd516c6275bb5fd31ae06e55a570bd9e1ad43
@ -60,6 +60,7 @@ RUN apk add --no-cache \
python-3.13-dev \
rust \
openssl \
libssl3 \
openssl-dev \
nodejs \
npm \
@ -126,7 +127,7 @@ USER root
RUN echo "https://packages.wolfi.dev/os" >> /etc/apk/repositories
# node (without npm) is required by the prisma CLI at runtime
RUN apk add --no-cache bash openssl tzdata nodejs python-3.13 libsndfile libevent
RUN apk add --no-cache bash openssl libssl3 tzdata nodejs python-3.13 libsndfile libevent
COPY --from=pgbouncer-builder /usr/local/bin/pgbouncer /usr/local/bin/pgbouncer
WORKDIR /app

View file

@ -1,5 +1,5 @@
ARG LITELLM_BUILD_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:1d95114038f76513a9ace6fca107d5582b08c65981f81f61cb56bf7fd2ef216d
ARG LITELLM_RUNTIME_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:1d95114038f76513a9ace6fca107d5582b08c65981f81f61cb56bf7fd2ef216d
ARG LITELLM_BUILD_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:81211e15a86ea1d5357f284482af45730c51de45eaf10ad9ce205d6bfc2df323
ARG LITELLM_RUNTIME_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:81211e15a86ea1d5357f284482af45730c51de45eaf10ad9ce205d6bfc2df323
ARG UV_IMAGE=ghcr.io/astral-sh/uv:0.11.7@sha256:240fb85ab0f263ef12f492d8476aa3a2e4e1e333f7d67fbdd923d00a506a516a
FROM $UV_IMAGE AS uvbin
@ -16,7 +16,7 @@ COPY --from=uvbin /uv /uvx /usr/local/bin/
# instead of nodeenv downloading one whose dynamic deps may not be in Wolfi
# (e.g. Node 26.2.0 needs libatomic). Retry for transient apk.cgr.dev flakes.
RUN for i in 1 2 3; do \
apk add --no-cache bash gcc python-3.13 python-3.13-dev openssl openssl-dev libsndfile nodejs npm && break; \
apk add --no-cache bash gcc python-3.13 python-3.13-dev openssl libssl3 openssl-dev libsndfile nodejs npm && break; \
[ $i = 3 ] && { echo "apk add failed after 3 retries" >&2; exit 1; }; \
sleep 5; \
done
@ -75,7 +75,7 @@ FROM $LITELLM_RUNTIME_IMAGE AS runtime
USER root
RUN for i in 1 2 3; do \
apk add --no-cache bash openssl tzdata python-3.13 libsndfile libatomic && break; \
apk add --no-cache bash openssl libssl3 tzdata python-3.13 libsndfile libatomic && break; \
[ $i = 3 ] && { echo "apk add failed after 3 retries" >&2; exit 1; }; \
sleep 5; \
done

View file

@ -1,4 +1,4 @@
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKi4ivqGpE231OGH50PKbqy1Y1Kkb
POJC8+i2Wko82gBOUCe3M0Vw86H/4rhUhfoYEti4gdJ9wZbYmK0I2EE96g==
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEG06dpKM+vEDnmp2zcjyXgVCXxzRg
JA5H2LnmwBKQafZGka6OOrWujCEWATQewiAgyD4WQdJ0pvU9RC4mvNAjvQ==
-----END PUBLIC KEY-----

View file

@ -1,10 +1,10 @@
# syntax=docker/dockerfile:1.7
# Base image for building
ARG LITELLM_BUILD_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:1d95114038f76513a9ace6fca107d5582b08c65981f81f61cb56bf7fd2ef216d
ARG LITELLM_BUILD_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:81211e15a86ea1d5357f284482af45730c51de45eaf10ad9ce205d6bfc2df323
# Runtime image
ARG LITELLM_RUNTIME_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:1d95114038f76513a9ace6fca107d5582b08c65981f81f61cb56bf7fd2ef216d
ARG LITELLM_RUNTIME_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:81211e15a86ea1d5357f284482af45730c51de45eaf10ad9ce205d6bfc2df323
ARG UV_IMAGE=ghcr.io/astral-sh/uv:0.11.7@sha256:240fb85ab0f263ef12f492d8476aa3a2e4e1e333f7d67fbdd923d00a506a516a
# Pinned by digest like the other base images; bump explicitly on Node upgrades.
ARG UI_BUILD_IMAGE=node:24.19-alpine3.24@sha256:d32cdf619f63fe0471182d08996dd516c6275bb5fd31ae06e55a570bd9e1ad43
@ -58,6 +58,7 @@ RUN apk add --no-cache \
python-3.13 \
python-3.13-dev \
openssl \
libssl3 \
openssl-dev \
nodejs \
npm \
@ -117,7 +118,7 @@ FROM $LITELLM_RUNTIME_IMAGE AS runtime
USER root
# node (without npm) is required by the prisma CLI at runtime
RUN apk add --no-cache bash openssl tzdata nodejs python-3.13 libsndfile libevent
RUN apk add --no-cache bash openssl libssl3 tzdata nodejs python-3.13 libsndfile libevent
COPY --from=pgbouncer-builder /usr/local/bin/pgbouncer /usr/local/bin/pgbouncer
WORKDIR /app

View file

@ -1,8 +1,8 @@
# syntax=docker/dockerfile:1.7
# Base images
ARG LITELLM_BUILD_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:1d95114038f76513a9ace6fca107d5582b08c65981f81f61cb56bf7fd2ef216d
ARG LITELLM_RUNTIME_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:1d95114038f76513a9ace6fca107d5582b08c65981f81f61cb56bf7fd2ef216d
ARG LITELLM_BUILD_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:81211e15a86ea1d5357f284482af45730c51de45eaf10ad9ce205d6bfc2df323
ARG LITELLM_RUNTIME_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:81211e15a86ea1d5357f284482af45730c51de45eaf10ad9ce205d6bfc2df323
ARG UV_IMAGE=ghcr.io/astral-sh/uv:0.11.7@sha256:240fb85ab0f263ef12f492d8476aa3a2e4e1e333f7d67fbdd923d00a506a516a
# Pinned by digest like the other base images; bump explicitly on Node upgrades.
ARG UI_BUILD_IMAGE=node:24.19-alpine3.24@sha256:d32cdf619f63fe0471182d08996dd516c6275bb5fd31ae06e55a570bd9e1ad43
@ -59,6 +59,7 @@ RUN for i in 1 2 3; do \
coreutils \
curl \
openssl \
libssl3 \
libsndfile \
nodejs \
npm && break || sleep 5; \
@ -129,7 +130,7 @@ RUN for i in 1 2 3; do \
apk upgrade --no-cache && break || sleep 5; \
done && \
for i in 1 2 3; do \
apk add --no-cache python-3.13 bash openssl tzdata libsndfile nodejs libevent && break || sleep 5; \
apk add --no-cache python-3.13 bash openssl libssl3 tzdata libsndfile nodejs libevent && break || sleep 5; \
done
COPY --from=pgbouncer-builder /usr/local/bin/pgbouncer /usr/local/bin/pgbouncer

View file

@ -30,7 +30,7 @@ RUN uv venv --python python && \
"google-cloud-aiplatform==1.133.0" \
"google-genai==1.37.0" \
"anthropic[vertex]==0.84.0" \
"grpcio==1.78.0" \
"grpcio==1.84.1" \
"prometheus-client==0.20.0" \
"langfuse==2.59.7" \
"opentelemetry-api==1.28.0" \

View file

@ -1,5 +1,5 @@
ARG LITELLM_BUILD_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:1d95114038f76513a9ace6fca107d5582b08c65981f81f61cb56bf7fd2ef216d
ARG LITELLM_RUNTIME_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:1d95114038f76513a9ace6fca107d5582b08c65981f81f61cb56bf7fd2ef216d
ARG LITELLM_BUILD_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:81211e15a86ea1d5357f284482af45730c51de45eaf10ad9ce205d6bfc2df323
ARG LITELLM_RUNTIME_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:81211e15a86ea1d5357f284482af45730c51de45eaf10ad9ce205d6bfc2df323
ARG UV_IMAGE=ghcr.io/astral-sh/uv:0.11.7@sha256:240fb85ab0f263ef12f492d8476aa3a2e4e1e333f7d67fbdd923d00a506a516a
# Checksum from https://www.pgbouncer.org/downloads/ (the Wolfi repo only carries 1.24.x)
ARG PGBOUNCER_VERSION=1.26.0
@ -32,7 +32,7 @@ COPY --from=uvbin /uv /uvx /usr/local/bin/
# instead of nodeenv downloading one whose dynamic deps may not be in Wolfi
# (e.g. Node 26.2.0 needs libatomic). Retry for transient apk.cgr.dev flakes.
RUN for i in 1 2 3; do \
apk add --no-cache bash gcc python-3.13 python-3.13-dev openssl openssl-dev libsndfile nodejs npm && break; \
apk add --no-cache bash gcc python-3.13 python-3.13-dev openssl libssl3 openssl-dev libsndfile nodejs npm && break; \
[ $i = 3 ] && { echo "apk add failed after 3 retries" >&2; exit 1; }; \
sleep 5; \
done
@ -93,7 +93,7 @@ FROM $LITELLM_RUNTIME_IMAGE AS runtime
USER root
RUN for i in 1 2 3; do \
apk add --no-cache bash openssl tzdata python-3.13 libsndfile libatomic libevent && break; \
apk add --no-cache bash openssl libssl3 tzdata python-3.13 libsndfile libatomic libevent && break; \
[ $i = 3 ] && { echo "apk add failed after 3 retries" >&2; exit 1; }; \
sleep 5; \
done

View file

@ -8167,18 +8167,18 @@ dependencies = [
[[package]]
name = "webpki-root-certs"
version = "1.0.9"
version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b96554aa2acc8ccdb7e1c9a58a7a68dd5d13bccc69cd124cb09406db612a1c9b"
checksum = "58ec80e73fd8baf57bf0d9615554c75348bda990d6d5bbeab964dd068319fecb"
dependencies = [
"rustls-pki-types",
]
[[package]]
name = "webpki-roots"
version = "1.0.9"
version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a"
checksum = "1c1c8e20c8a38fc7d65abfe74eb7280e4aa667e8eec8bc84996d2874810748d9"
dependencies = [
"rustls-pki-types",
]

View file

@ -118,7 +118,7 @@ moka = { version = "0.12.16", features = ["future"] }
strum = { version = "0.28.0", features = ["derive"] }
url = "2.5.8"
percent-encoding = "2.3"
webpki-roots = "1"
webpki-roots = "1.0.10"
time = { version = "0.3.53", features = ["parsing"] }
criterion = "0.8.2"
fancy-regex = "0.19.2"

View file

@ -104,8 +104,8 @@ def instrument_fastapi_app(app: "FastAPI") -> None:
Safe no-op when the V2 gate is off or ``opentelemetry-instrumentation-fastapi``
is unavailable. This MUST be called at app-creation time — once the lifespan
runs, the middleware stack is frozen and ``instrument_app`` raises "Cannot add
middleware after an application has started".
runs, the middleware stack is frozen and middleware added later never runs, so
a late call is skipped without registering anything.
No ``TracerProvider`` is passed, so the instrumentation binds to the OTel global
``ProxyTracerProvider``; the proxy publishes the real provider as the global
@ -115,6 +115,9 @@ def instrument_fastapi_app(app: "FastAPI") -> None:
try:
if not is_otel_v2_enabled():
return
if app.middleware_stack is not None:
verbose_logger.debug("Skipping OTel V2 FastAPI instrumentation: the app has already started")
return
# Lazy: only the V2-enabled path needs the optional
# ``opentelemetry-instrumentation-fastapi`` package, which is not part of the

View file

@ -6,6 +6,7 @@ retry loop and swaps the payload for OTLP/JSON (enums as integers, ids as hex).
import base64
import json
import logging
from collections.abc import Mapping, Sequence
from types import MappingProxyType
from typing import Final, TypeAlias
@ -13,9 +14,13 @@ from typing import Final, TypeAlias
import requests
from google.protobuf.json_format import MessageToDict
from opentelemetry.exporter.otlp.proto.common.trace_encoder import encode_spans
from opentelemetry.exporter.otlp.proto.http._common import RequestPayloadTooLargeError
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk.trace import ReadableSpan
from opentelemetry.sdk.trace.export import SpanExportResult
from opentelemetry.semconv.attributes.http_attributes import HTTP_RESPONSE_STATUS_CODE
_logger: Final = logging.getLogger(__name__)
JSON_CONTENT_TYPE: Final = "application/json"
_HEX_ID_KEYS: Final = frozenset({"traceId", "spanId", "parentSpanId"})
@ -66,12 +71,49 @@ class OTLPJsonSpanExporter(OTLPSpanExporter):
def __init__(
self,
endpoint: str | None,
headers: dict[str, str], # mutable-ok: SDK __init__ takes Dict
headers: Mapping[str, str],
certificate_file: str | None = None,
session: "requests.Session | None" = None,
*,
max_request_size: int | None = None,
) -> None:
super().__init__(endpoint=endpoint, headers=headers, certificate_file=certificate_file, session=session)
self._session.headers["Content-Type"] = JSON_CONTENT_TYPE
super().__init__(
endpoint=endpoint,
headers={**{key.lower(): value for key, value in headers.items()}, "content-type": JSON_CONTENT_TYPE},
certificate_file=certificate_file,
session=session,
max_request_size=max_request_size,
)
def _serialize_spans(self, spans: Sequence[ReadableSpan]) -> bytes:
return encode_spans_json(spans)
def export(self, spans: Sequence[ReadableSpan]) -> SpanExportResult:
if self._shutdown:
_logger.warning("Exporter already shutdown, ignoring batch")
return SpanExportResult.FAILURE
with self._metrics.export_operation(len(spans)) as result:
try:
serialized_data: Final = encode_spans_json(spans)
except Exception as error: # noqa: BLE001 # SDK export contract reports encoding failures as results
_logger.error("Failed to encode span batch: %s", error)
result.error = error
return SpanExportResult.FAILURE
if 0 < self._max_request_size < len(serialized_data):
result.error = RequestPayloadTooLargeError(
f"Serialized span request size {len(serialized_data)} bytes "
f"exceeds max_request_size {self._max_request_size} bytes."
)
_logger.warning("Dropping span batch: %s", result.error)
return SpanExportResult.FAILURE
export_result: Final = self._client.export(serialized_data)
if not export_result.success:
result.error = export_result.error
result.error_attrs = (
{HTTP_RESPONSE_STATUS_CODE: export_result.status_code}
if export_result.status_code is not None
else None
)
return SpanExportResult.FAILURE
return SpanExportResult.SUCCESS

View file

@ -76,6 +76,7 @@ def agentops_preset(
def _build_agentops_exporter(spec: ExporterSpec) -> SpanExporter:
"""Factory for the ``agentops`` exporter kind: a lazy-auth OTLP/HTTP exporter."""
import requests
from opentelemetry.exporter.otlp.proto.http.trace_exporter import (
OTLPSpanExporter,
)
@ -89,7 +90,8 @@ def _build_agentops_exporter(spec: ExporterSpec) -> SpanExporter:
"""
def __init__(self, *, endpoint: str | None, api_key: str | None) -> None:
super().__init__(endpoint=endpoint)
self._agentops_session = requests.Session()
super().__init__(endpoint=endpoint, session=self._agentops_session)
self._agentops_api_key = api_key
self._auth_resolved = False
@ -102,10 +104,7 @@ def _build_agentops_exporter(spec: ExporterSpec) -> SpanExporter:
try:
token: Final = _fetch_agentops_jwt(self._agentops_api_key).get("token")
if token:
# ``_session`` is the requests.Session the base exporter
# POSTs through; updating its Authorization header is how the
# minted JWT reaches every subsequent export.
self._session.headers["Authorization"] = f"Bearer {token}"
self._agentops_session.headers["Authorization"] = f"Bearer {token}"
except Exception as e:
verbose_logger.debug("AgentOps JWT fetch failed: %s", e)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,36 +1,75 @@
1:"$Sreact.fragment"
2:I[347257,["/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js"],"ClientPageRoot"]
3:I[871135,["/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js","/litellm-asset-prefix/_next/static/chunks/0980cxmrsda-k.js","/litellm-asset-prefix/_next/static/chunks/0jv-dwvqly6nt.js","/litellm-asset-prefix/_next/static/chunks/1t5j4rm8qs3ep.js","/litellm-asset-prefix/_next/static/chunks/1jtnxeeohmeur.js","/litellm-asset-prefix/_next/static/chunks/35pudezgs597y.js","/litellm-asset-prefix/_next/static/chunks/2ay5v0bceb1lj.js","/litellm-asset-prefix/_next/static/chunks/0bsgulj4y-2zt.js","/litellm-asset-prefix/_next/static/chunks/14hu41xvpzmuj.js","/litellm-asset-prefix/_next/static/chunks/3m3rxvigp6yiy.js","/litellm-asset-prefix/_next/static/chunks/0aoel7yrv88fp.js","/litellm-asset-prefix/_next/static/chunks/2wi6ubg_xifzg.js","/litellm-asset-prefix/_next/static/chunks/1yn4z5ilmhgqg.js","/litellm-asset-prefix/_next/static/chunks/08vptm3iq9b2_.js","/litellm-asset-prefix/_next/static/chunks/045-3xwumskpv.js","/litellm-asset-prefix/_next/static/chunks/3g5vo1vbvnimy.js","/litellm-asset-prefix/_next/static/chunks/3i556p1qh6r2y.js","/litellm-asset-prefix/_next/static/chunks/3g5uqihqozp0p.js","/litellm-asset-prefix/_next/static/chunks/2ga9qr8gn5nze.js","/litellm-asset-prefix/_next/static/chunks/0x9ew3jgsj79d.js","/litellm-asset-prefix/_next/static/chunks/409w3-jlnyi1y.js","/litellm-asset-prefix/_next/static/chunks/001c4i4-gztis.js","/litellm-asset-prefix/_next/static/chunks/28j-uzxloqsb-.js","/litellm-asset-prefix/_next/static/chunks/2h05w0no0km-v.js","/litellm-asset-prefix/_next/static/chunks/33aje6ne5gt1-.js","/litellm-asset-prefix/_next/static/chunks/079i5u0auunao.js","/litellm-asset-prefix/_next/static/chunks/1t7m5lyrljbza.js","/litellm-asset-prefix/_next/static/chunks/28ytusy1jm5e9.js","/litellm-asset-prefix/_next/static/chunks/31ztkh7a77ga9.js","/litellm-asset-prefix/_next/static/chunks/26c6fycvgof7y.js","/litellm-asset-prefix/_next/static/chunks/138eps9zo_ekz.js","/litellm-asset-prefix/_next/static/chunks/1_t1p4by1mewv.js"],"default"]
6:I[897367,["/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js"],"OutletBoundary"]
7:"$Sreact.suspense"
b:I[897367,["/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js"],"ViewportBoundary"]
c:I[897367,["/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js"],"MetadataBoundary"]
d:I[27201,["/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js"],"IconMark"]
a:X
0:{"buildId":"vrifX6k3UPQnwaiDi5xVQ","data":[{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/litellm-asset-prefix/_next/static/chunks/3g5vo1vbvnimy.js","async":true}],["$","script","script-1",{"src":"/litellm-asset-prefix/_next/static/chunks/3i556p1qh6r2y.js","async":true}],["$","script","script-2",{"src":"/litellm-asset-prefix/_next/static/chunks/3g5uqihqozp0p.js","async":true}],["$","script","script-3",{"src":"/litellm-asset-prefix/_next/static/chunks/2ga9qr8gn5nze.js","async":true}],["$","script","script-4",{"src":"/litellm-asset-prefix/_next/static/chunks/0x9ew3jgsj79d.js","async":true}],["$","script","script-5",{"src":"/litellm-asset-prefix/_next/static/chunks/409w3-jlnyi1y.js","async":true}],["$","script","script-6",{"src":"/litellm-asset-prefix/_next/static/chunks/001c4i4-gztis.js","async":true}],["$","script","script-7",{"src":"/litellm-asset-prefix/_next/static/chunks/28j-uzxloqsb-.js","async":true}],["$","script","script-8",{"src":"/litellm-asset-prefix/_next/static/chunks/2h05w0no0km-v.js","async":true}],["$","script","script-9",{"src":"/litellm-asset-prefix/_next/static/chunks/33aje6ne5gt1-.js","async":true}],["$","script","script-10",{"src":"/litellm-asset-prefix/_next/static/chunks/079i5u0auunao.js","async":true}],["$","script","script-11",{"src":"/litellm-asset-prefix/_next/static/chunks/1t7m5lyrljbza.js","async":true}],["$","script","script-12",{"src":"/litellm-asset-prefix/_next/static/chunks/28ytusy1jm5e9.js","async":true}],["$","script","script-13",{"src":"/litellm-asset-prefix/_next/static/chunks/31ztkh7a77ga9.js","async":true}],["$","script","script-14",{"src":"/litellm-asset-prefix/_next/static/chunks/26c6fycvgof7y.js","async":true}],["$","script","script-15",{"src":"/litellm-asset-prefix/_next/static/chunks/138eps9zo_ekz.js","async":true}],["$","script","script-16",{"src":"/litellm-asset-prefix/_next/static/chunks/1_t1p4by1mewv.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":"$@9","staleTime":"$a","varyParams":null},{"rsc":["$","$1","h",{"children":[null,["$","$Lb",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$Lc",null,{"children":["$","$7",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"LiteLLM Dashboard"}],["$","meta","1",{"name":"description","content":"LiteLLM Proxy Admin UI"}],["$","link","2",{"rel":"icon","href":"/favicon.ico?favicon.34m4ev7_7ennf.ico","sizes":"48x48","type":"image/x-icon"}],["$","link","3",{"rel":"icon","href":"/get_favicon"}],["$","$Ld","4",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":"$@e","staleTime":"$a","varyParams":null},{"rsc":["$","$1","c",{"children":[[["$","script","script-0",{"src":"/litellm-asset-prefix/_next/static/chunks/0980cxmrsda-k.js","async":true}],["$","script","script-1",{"src":"/litellm-asset-prefix/_next/static/chunks/0jv-dwvqly6nt.js","async":true}],["$","script","script-2",{"src":"/litellm-asset-prefix/_next/static/chunks/1t5j4rm8qs3ep.js","async":true}],["$","script","script-3",{"src":"/litellm-asset-prefix/_next/static/chunks/1jtnxeeohmeur.js","async":true}],["$","script","script-4",{"src":"/litellm-asset-prefix/_next/static/chunks/35pudezgs597y.js","async":true}],["$","script","script-5",{"src":"/litellm-asset-prefix/_next/static/chunks/2ay5v0bceb1lj.js","async":true}],["$","script","script-6",{"src":"/litellm-asset-prefix/_next/static/chunks/0bsgulj4y-2zt.js","async":true}],["$","script","script-7",{"src":"/litellm-asset-prefix/_next/static/chunks/14hu41xvpzmuj.js","async":true}],["$","script","script-8",{"src":"/litellm-asset-prefix/_next/static/chunks/3m3rxvigp6yiy.js","async":true}],["$","script","script-9",{"src":"/litellm-asset-prefix/_next/static/chunks/0aoel7yrv88fp.js","async":true}],["$","script","script-10",{"src":"/litellm-asset-prefix/_next/static/chunks/2wi6ubg_xifzg.js","async":true}],["$","script","script-11",{"src":"/litellm-asset-prefix/_next/static/chunks/1yn4z5ilmhgqg.js","async":true}],["$","script","script-12",{"src":"/litellm-asset-prefix/_next/static/chunks/08vptm3iq9b2_.js","async":true}],"$Lf"],"$L10"]}],"isPartial":"$@11","staleTime":"$a","varyParams":null},{"rsc":"$L12","isPartial":"$@13","staleTime":"$a","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@14","rootVaryParams":null,"needsRuntimeRequest":"$@15"}
16:I[92825,["/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js"],"ClientSegmentRoot"]
17:I[216370,["/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js","/litellm-asset-prefix/_next/static/chunks/0980cxmrsda-k.js","/litellm-asset-prefix/_next/static/chunks/0jv-dwvqly6nt.js","/litellm-asset-prefix/_next/static/chunks/1t5j4rm8qs3ep.js","/litellm-asset-prefix/_next/static/chunks/1jtnxeeohmeur.js","/litellm-asset-prefix/_next/static/chunks/35pudezgs597y.js","/litellm-asset-prefix/_next/static/chunks/2ay5v0bceb1lj.js","/litellm-asset-prefix/_next/static/chunks/0bsgulj4y-2zt.js","/litellm-asset-prefix/_next/static/chunks/14hu41xvpzmuj.js","/litellm-asset-prefix/_next/static/chunks/3m3rxvigp6yiy.js","/litellm-asset-prefix/_next/static/chunks/0aoel7yrv88fp.js","/litellm-asset-prefix/_next/static/chunks/2wi6ubg_xifzg.js","/litellm-asset-prefix/_next/static/chunks/1yn4z5ilmhgqg.js","/litellm-asset-prefix/_next/static/chunks/08vptm3iq9b2_.js","/litellm-asset-prefix/_next/static/chunks/045-3xwumskpv.js"],"default"]
18:I[339756,["/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js"],"default"]
19:I[837457,["/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js"],"default"]
1b:I[363178,["/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js"],"ThemeProvider"]
1c:I[12985,["/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js"],"NuqsAdapter"]
1d:I[867271,["/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js"],"default"]
1e:I[557951,["/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js"],"AuthProvider"]
1f:I[713354,["/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js"],"Toaster"]
:HL["/litellm-asset-prefix/_next/static/chunks/0ckv5j_fni3xm.css","style"]
:HL["/litellm-asset-prefix/_next/static/chunks/2cd3v4aaz6o0i.css","style"]
4:{}
5:"$0:data:0:rsc:props:children:0:props:serverProvidedParams:params"
8:null
f:["$","script","script-13",{"src":"/litellm-asset-prefix/_next/static/chunks/045-3xwumskpv.js","async":true}]
10:["$","$L16",null,{"Component":"$17","slots":{"children":["$","$L18",null,{"parallelRouterKey":"children","template":["$","$L19",null,{}],"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."}]}]]}]}]],[]]}]},"serverProvidedParams":{"params":"$0:data:0:rsc:props:children:0:props:serverProvidedParams:params","promises":["$@1a"]}}]
12:["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/chunks/0ckv5j_fni3xm.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/chunks/2cd3v4aaz6o0i.css","precedence":"next"}],["$","script","script-0",{"src":"/litellm-asset-prefix/_next/static/chunks/1kpvojzxb_2ce.js","async":true}],["$","script","script-1",{"src":"/litellm-asset-prefix/_next/static/chunks/11ugbgu7e3bcm.js","async":true}],["$","script","script-2",{"src":"/litellm-asset-prefix/_next/static/chunks/2gur-ho5rpe0r.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"inter_5972bc34-module__OU16Qa__className","children":["$","$L1b",null,{"attribute":"class","defaultTheme":"light","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L1c",null,{"children":["$","$L1d",null,{"children":[["$","$L1e",null,{"children":["$","$L18",null,{"parallelRouterKey":"children","template":["$","$L19",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$10:props:slots:children:props:notFound:0:1:props:style","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":"$10:props:slots:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$10:props:slots:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$10:props:slots:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]]}]}],["$","$L1f",null,{}]]}]}]}]}]}]]}]
1a:"$0:data:0:rsc:props:children:0:props:serverProvidedParams:params"
15:true
a:300
a:C
14:0
e:"$undefined"
13:"$undefined"
9:"$undefined"
11:"$undefined"
2:"/litellm-asset-prefix/_next/static/chunks/1bcm2z7-32t9x.js"
3:"/litellm-asset-prefix/_next/static/chunks/17zl_5sbnfdwm.js"
4:"/litellm-asset-prefix/_next/static/chunks/1m_eopknc22r0.js"
5:I[363178,["$2","$3","$4"],"ThemeProvider"]
6:I[12985,["$2","$3","$4"],"NuqsAdapter"]
7:I[867271,["$2","$3","$4"],"default"]
8:I[557951,["$2","$3","$4"],"AuthProvider"]
9:I[339756,["$2","$3","$4"],"default"]
a:I[837457,["$2","$3","$4"],"default"]
b:I[713354,["$2","$3","$4"],"Toaster"]
f:"ClientSegmentRoot"
10:I[92825,["$2","$3","$4"],"$f"]
11:"/litellm-asset-prefix/_next/static/chunks/3-ahzjdsnn5um.js"
12:"/litellm-asset-prefix/_next/static/chunks/1gcfef4k3z5e5.js"
13:"/litellm-asset-prefix/_next/static/chunks/14m2-0a9_-z0l.js"
14:"/litellm-asset-prefix/_next/static/chunks/1f2m-omma_acl.js"
15:"/litellm-asset-prefix/_next/static/chunks/0qlwk--fv7e48.js"
16:"/litellm-asset-prefix/_next/static/chunks/0zng8cf5oj-bm.js"
17:"/litellm-asset-prefix/_next/static/chunks/17_qvs_y91i8n.js"
18:"/litellm-asset-prefix/_next/static/chunks/2hk8n3azev--d.js"
19:"/litellm-asset-prefix/_next/static/chunks/13d402rvlr6kh.js"
1a:"/litellm-asset-prefix/_next/static/chunks/0if5bn2v9r_ex.js"
1b:"/litellm-asset-prefix/_next/static/chunks/0g3hfgh2z8the.js"
1c:"/litellm-asset-prefix/_next/static/chunks/1mczrkso7v1y3.js"
1d:"/litellm-asset-prefix/_next/static/chunks/1ff44sh_t9krh.js"
1e:"/litellm-asset-prefix/_next/static/chunks/14v3irtjifjt2.js"
1f:I[216370,["$2","$3","$4","$11","$12","$13","$14","$15","$16","$17","$18","$19","$1a","$1b","$1c","$1d","$1e"],"default"]
27:"ViewportBoundary"
28:I[897367,["$2","$3","$4"],"$27"]
29:"MetadataBoundary"
2a:I[897367,["$2","$3","$4"],"$29"]
2b:"$Sreact.suspense"
2c:I[27201,["$2","$3","$4"],"IconMark"]
:HL["/litellm-asset-prefix/_next/static/chunks/1bnh8r0-prf7e.css","style"]
:HL["/litellm-asset-prefix/_next/static/chunks/3qy-wu7z771zi.css","style"]
d:X
24:[["children",{"s":"__PAGE__","h":160,"d":{"r":"$L25","p":"$@26","v":null,"s":"$d"}}]]
e:[["children",{"s":"(dashboard)","h":96,"d":{"r":["$","$1","c",{"children":[[["$","script","script-0",{"src":"/litellm-asset-prefix/_next/static/chunks/3-ahzjdsnn5um.js","async":true}],["$","script","script-1",{"src":"/litellm-asset-prefix/_next/static/chunks/1gcfef4k3z5e5.js","async":true}],["$","script","script-2",{"src":"/litellm-asset-prefix/_next/static/chunks/14m2-0a9_-z0l.js","async":true}],["$","script","script-3",{"src":"/litellm-asset-prefix/_next/static/chunks/1f2m-omma_acl.js","async":true}],["$","script","script-4",{"src":"/litellm-asset-prefix/_next/static/chunks/0qlwk--fv7e48.js","async":true}],["$","script","script-5",{"src":"/litellm-asset-prefix/_next/static/chunks/0zng8cf5oj-bm.js","async":true}],["$","script","script-6",{"src":"/litellm-asset-prefix/_next/static/chunks/17_qvs_y91i8n.js","async":true}],["$","script","script-7",{"src":"/litellm-asset-prefix/_next/static/chunks/2hk8n3azev--d.js","async":true}],["$","script","script-8",{"src":"/litellm-asset-prefix/_next/static/chunks/13d402rvlr6kh.js","async":true}],["$","script","script-9",{"src":"/litellm-asset-prefix/_next/static/chunks/0if5bn2v9r_ex.js","async":true}],["$","script","script-10",{"src":"/litellm-asset-prefix/_next/static/chunks/0g3hfgh2z8the.js","async":true}],["$","script","script-11",{"src":"/litellm-asset-prefix/_next/static/chunks/1mczrkso7v1y3.js","async":true}],["$","script","script-12",{"src":"/litellm-asset-prefix/_next/static/chunks/1ff44sh_t9krh.js","async":true}],["$","script","script-13",{"src":"/litellm-asset-prefix/_next/static/chunks/14v3irtjifjt2.js","async":true}]],["$","$L10",null,{"Component":"$1f","slots":{"children":["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:children:props:children:0:props:children:props:notFound:0:1:props:style","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)}}"}}],"$L20","$L21"]}]}]],[]]}]},"serverProvidedParams":{"params":{},"promises":["$@22"]}}]]}],"p":"$@23","v":null,"s":"$d"},"c":"$Q24"}]]
0:{"t":{"t":{"s":"","h":80,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/chunks/1bnh8r0-prf7e.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/litellm-asset-prefix/_next/static/chunks/3qy-wu7z771zi.css","precedence":"next"}],["$","script","script-0",{"src":"/litellm-asset-prefix/_next/static/chunks/1bcm2z7-32t9x.js","async":true}],["$","script","script-1",{"src":"/litellm-asset-prefix/_next/static/chunks/17zl_5sbnfdwm.js","async":true}],["$","script","script-2",{"src":"/litellm-asset-prefix/_next/static/chunks/1m_eopknc22r0.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"OU16Qa_className","children":["$","$L5",null,{"attribute":"class","defaultTheme":"light","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L6",null,{"children":["$","$L7",null,{"children":[["$","$L8",null,{"children":["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"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."}]}]]}]}]],[]]}]}],["$","$Lb",null,{}]]}]}]}]}]}]]}],"p":"$@c","v":null,"s":"$d"},"c":"$Qe"},"h":{"r":["$","$1","h",{"children":[null,["$","$L28",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","$L2a",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$2b",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"LiteLLM Dashboard"}],["$","meta","1",{"name":"description","content":"LiteLLM Proxy Admin UI"}],["$","link","2",{"rel":"icon","href":"/favicon.ico?favicon.34m4ev7_7ennf.ico","sizes":"48x48","type":"image/x-icon"}],["$","link","3",{"rel":"icon","href":"/get_favicon"}],["$","$L2c","4",{}]]}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":"$@2d","v":null,"s":"$d"}},"a":"$@2e","u":"$@2f","b":"cvvhZP18DyOLl6iowumVF"}
30:I[347257,["$2","$3","$4"],"ClientPageRoot"]
31:"/litellm-asset-prefix/_next/static/chunks/27y_dns9e-vta.js"
32:"/litellm-asset-prefix/_next/static/chunks/165nhy3pr72t9.js"
33:"/litellm-asset-prefix/_next/static/chunks/14q0n6j38770v.js"
34:"/litellm-asset-prefix/_next/static/chunks/0ih04cyz80fsl.js"
35:"/litellm-asset-prefix/_next/static/chunks/3lwlddnhc_4-g.js"
36:"/litellm-asset-prefix/_next/static/chunks/1us6vtm2sye1q.js"
37:"/litellm-asset-prefix/_next/static/chunks/0uk6hlw-au5r1.js"
38:"/litellm-asset-prefix/_next/static/chunks/2lpk389vq444g.js"
39:"/litellm-asset-prefix/_next/static/chunks/0ayyip3c-drm1.js"
3a:"/litellm-asset-prefix/_next/static/chunks/1iicly26bg1fr.js"
3b:"/litellm-asset-prefix/_next/static/chunks/1092iqw8_mckz.js"
3c:"/litellm-asset-prefix/_next/static/chunks/2ozv018mjvqny.js"
3d:"/litellm-asset-prefix/_next/static/chunks/2ar06pc8r9cny.js"
3e:"/litellm-asset-prefix/_next/static/chunks/3_yx0std_6322.js"
3f:"/litellm-asset-prefix/_next/static/chunks/33ovx1e6decqr.js"
40:"/litellm-asset-prefix/_next/static/chunks/38ibdcygrmfrx.js"
41:"/litellm-asset-prefix/_next/static/chunks/3cft-z7pc--u0.js"
42:I[871135,["$2","$3","$4","$11","$12","$13","$14","$15","$16","$17","$18","$19","$1a","$1b","$1c","$1d","$1e","$31","$32","$33","$34","$35","$36","$37","$38","$39","$3a","$3b","$3c","$3d","$3e","$3f","$40","$41"],"default"]
45:I[897367,["$2","$3","$4"],"OutletBoundary"]
20:["$","h1",null,{"className":"next-error-h1","style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:children:props:children:0:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}]
21:["$","div",null,{"style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:children:props:children:0:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:children:props:children:0:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]
22:"$e:0:1:d:r:props:children:1:props:serverProvidedParams:params"
25:["$","$1","c",{"children":[["$","$L30",null,{"Component":"$42","serverProvidedParams":{"searchParams":{},"params":"$e:0:1:d:r:props:children:1:props:serverProvidedParams:params","promises":["$@43","$@44"]}}],[["$","script","script-0",{"src":"/litellm-asset-prefix/_next/static/chunks/27y_dns9e-vta.js","async":true}],["$","script","script-1",{"src":"/litellm-asset-prefix/_next/static/chunks/165nhy3pr72t9.js","async":true}],["$","script","script-2",{"src":"/litellm-asset-prefix/_next/static/chunks/14q0n6j38770v.js","async":true}],["$","script","script-3",{"src":"/litellm-asset-prefix/_next/static/chunks/0ih04cyz80fsl.js","async":true}],["$","script","script-4",{"src":"/litellm-asset-prefix/_next/static/chunks/3lwlddnhc_4-g.js","async":true}],["$","script","script-5",{"src":"/litellm-asset-prefix/_next/static/chunks/1us6vtm2sye1q.js","async":true}],["$","script","script-6",{"src":"/litellm-asset-prefix/_next/static/chunks/0uk6hlw-au5r1.js","async":true}],["$","script","script-7",{"src":"/litellm-asset-prefix/_next/static/chunks/2lpk389vq444g.js","async":true}],["$","script","script-8",{"src":"/litellm-asset-prefix/_next/static/chunks/0ayyip3c-drm1.js","async":true}],["$","script","script-9",{"src":"/litellm-asset-prefix/_next/static/chunks/1iicly26bg1fr.js","async":true}],["$","script","script-10",{"src":"/litellm-asset-prefix/_next/static/chunks/1092iqw8_mckz.js","async":true}],["$","script","script-11",{"src":"/litellm-asset-prefix/_next/static/chunks/2ozv018mjvqny.js","async":true}],["$","script","script-12",{"src":"/litellm-asset-prefix/_next/static/chunks/2ar06pc8r9cny.js","async":true}],["$","script","script-13",{"src":"/litellm-asset-prefix/_next/static/chunks/3_yx0std_6322.js","async":true}],["$","script","script-14",{"src":"/litellm-asset-prefix/_next/static/chunks/33ovx1e6decqr.js","async":true}],["$","script","script-15",{"src":"/litellm-asset-prefix/_next/static/chunks/38ibdcygrmfrx.js","async":true}],["$","script","script-16",{"src":"/litellm-asset-prefix/_next/static/chunks/3cft-z7pc--u0.js","async":true}]],["$","$L45",null,{"children":["$","$2b",null,{"name":"Next.MetadataOutlet","children":"$@46"}]}]]}]
d:300
43:{}
44:"$e:0:1:d:r:props:children:1:props:serverProvidedParams:params"
46:null
2f:true
d:C
2e:0
c:"$undefined"
2d:"$undefined"
26:"$undefined"
23:"$undefined"

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,6 @@
:HL["/litellm-asset-prefix/_next/static/chunks/0ckv5j_fni3xm.css","style"]
:HL["/litellm-asset-prefix/_next/static/chunks/2cd3v4aaz6o0i.css","style"]
:HL["/litellm-asset-prefix/_next/static/chunks/1bnh8r0-prf7e.css","style"]
:HL["/litellm-asset-prefix/_next/static/chunks/3qy-wu7z771zi.css","style"]
:HL["/litellm-asset-prefix/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"(dashboard)","param":null,"prefetchHints":4192,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}}}},"staleTime":300,"buildId":"vrifX6k3UPQnwaiDi5xVQ"}
2:[["children",{"s":"__PAGE__","h":160}]]
1:[["children",{"s":"(dashboard)","h":96,"c":"$Q2"}]]
0:{"b":"cvvhZP18DyOLl6iowumVF","t":{"t":{"s":"","h":80,"c":"$Q1"}}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,115057,e=>{let t=(0,e.i(475254).f)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);e.s(["f",0,t],115057)},113625,e=>{let t=(0,e.i(475254).f)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["f",0,t])},852008,e=>{var t=e.i(113625);e.s(["f",()=>t.f])},299023,e=>{let t=(0,e.i(475254).f)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["f",0,t],299023)},509694,e=>{var t=e.i(271645),r=e.i(925949),s=e.i(433369),i=["axis","item"],a=(0,t.forwardRef)((e,a)=>t.createElement(s.f,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:i,tooltipPayloadSearcher:r.Y,categoricalChartProps:e,ref:a}));e.s(["f",0,a])},174553,e=>{var t=e.i(843476),r=e.i(271645),s=e.i(916925),i=e.i(555987),a=e.i(196631);let l=/(?:\/assets\/logos\/|\/_next\/static\/media\/)/,n={"baseten.svg":"invert","cursor.svg":"invert","edenai.svg":"invert","enkrypt_ai.avif":"invert","friendli.svg":"invert","github.svg":"invert","github_copilot.svg":"invert","lago.svg":"invert","lambda.svg":"invert","langflow.svg":"invert","litellm_monogram.svg":"invert","lmstudio.svg":"invert","moonshot.svg":"invert","nebius.svg":"invert","notion.svg":"invert","ollama.svg":"invert","openrouter.svg":"invert","promptguard.svg":"invert","recraft.svg":"invert","replicate.svg":"invert","runway.png":"invert","scx_ai.svg":"invert","secret_detect.png":"invert","topaz.svg":"invert","v0.svg":"invert","vercel.svg":"invert","watsonx.svg":"invert","aiml_api.svg":"plate","akto.svg":"plate","aws.svg":"plate","deepkeep.svg":"plate","fireworks.svg":"plate","llm_guard.png":"plate","pangea.png":"plate","repelloai.png":"plate","sambanova.svg":"plate","sentry.svg":"plate","valkey.svg":"plate"},o={invert:"dark:[filter:brightness(0)_invert(1)]",plate:"dark:bg-logo-surface dark:object-contain dark:p-0.5"};e.s(["f",0,({provider:e,src:v,label:g,className:c="w-4 h-4"})=>{let[d,p]=(0,r.useState)(null),f=void 0!==e?(0,s.h)(e).logo:(0,i.u)(v)??"",u=g??e??"";if(d===f||!f)return(0,t.jsx)("div",{className:`${c} rounded-full bg-border flex items-center justify-center text-xs`,children:u.charAt(0)||"-"});let m=(e=>{let t;if(!e||(0,i.i)(e)||!l.test(e))return;let r=e.split(/[?#]/)[0].split("/").pop()||void 0,s=void 0===r||(t=r.split(".")).length<2?void 0:`${t[0]}.${t[t.length-1]}`;return void 0===s?void 0:n[s]})(f);return(0,t.jsx)("img",{src:f,alt:`${u||"-"} logo`,className:void 0===m?c:(0,a.c)(c,o[m]),onError:()=>{console.warn(`Logo failed to load: ${f}`),p(f)}})}],174553)},418371,e=>{var t=e.i(843476),r=e.i(174553);e.s(["f",0,({provider:e,className:s="w-4 h-4"})=>(0,t.jsx)(r.f,{provider:e,className:s})])},263005,e=>{var t=e.i(843476),r=e.i(554134);e.s(["f",0,function({title:e,subtitle:s,icon:i,primaryAction:a,tabs:l,utilities:n}){let o=null==a?null:(0,t.jsxs)("div",{className:"flex h-9 items-center",children:[a,null!=l&&(0,t.jsx)(r.f,{className:"mx-4 h-6"})]}),v=null==n?null:(0,t.jsx)("div",{className:"flex items-center gap-2",children:n}),g=null!=a||null!=l||null!=n;return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,t.jsx)("span",{"aria-hidden":"true",className:"flex size-5 flex-none items-center justify-center text-foreground [&_svg]:size-5 [&_svg]:stroke-[1.75]",children:i}),(0,t.jsx)("h1",{className:"text-2xl font-semibold tracking-tight text-foreground",children:e})]}),(0,t.jsx)("p",{className:"mt-1.5 text-sm text-muted-foreground",children:s}),"function"==typeof l?(0,t.jsx)("div",{className:"mt-5",children:l({leadingControls:o,utilities:v})}):g&&(0,t.jsxs)("div",{className:"mt-5 flex h-9 items-center",role:"group","aria-label":"Page controls",children:[o,l,null!=v&&(0,t.jsx)("div",{className:"ml-auto",children:v})]})]})}])},122520,e=>{e.s(["f",0,function(e){if(e instanceof Error)return e.message;if(e&&"object"==typeof e){let t=e.detail;return"string"==typeof t?t:Array.isArray(t)?t.map(e=>e&&"object"==typeof e?"string"==typeof e.msg?e.msg:JSON.stringify(e):String(e)).join("; "):t&&"object"==typeof t&&"string"==typeof t.error?t.error:"string"==typeof e.message?e.message:JSON.stringify(e)}return String(e)}])}])})();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,35 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,972520,e=>{"use strict";let t=(0,e.i(475254).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",0,t],972520)},411929,e=>{"use strict";var t=e.i(843476),r=e.i(271645),s=e.i(972520),a=e.i(174886),o=e.i(519455),n=e.i(515288),i=e.i(624687),l=e.i(571303),d=e.i(602869),c=e.i(417385);let u=({accessToken:e})=>{let[u,m]=(0,r.useState)(`{
"model": "openai/gpt-4o",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Explain quantum computing in simple terms"
}
],
"temperature": 0.7,
"max_tokens": 500,
"stream": true
}`),[p,h]=(0,r.useState)(""),[x,f]=(0,r.useState)(!1),g=async()=>{f(!0);try{let a;try{a=JSON.parse(u)}catch(e){c.toast.fromError("Invalid JSON in request body"),f(!1);return}let o={call_type:"completion",request_body:a};if(!e){c.toast.fromError("No access token found"),f(!1);return}let n=await (0,d.transformRequestCall)(e,o);if(n.raw_request_api_base&&n.raw_request_body){var t,r,s;let e,a,o=(t=n.raw_request_api_base,r=n.raw_request_body,s=n.raw_request_headers||{},e=JSON.stringify(r,null,2).split("\n").map(e=>` ${e}`).join("\n"),a=Object.entries(s).map(([e,t])=>`-H '${e}: ${t}'`).join(" \\\n "),`curl -X POST \\
${t} \\
${a?`${a} \\
`:""}-H 'Content-Type: application/json' \\
-d '{
${e}
}'`);h(o),c.toast.success("Request transformed successfully")}else{let e="string"==typeof n?n:JSON.stringify(n);h(e),c.toast.info("Transformed request received in unexpected format")}}catch(e){console.error("Error transforming request:",e),c.toast.fromError("Failed to transform request")}finally{f(!1)}};return(0,t.jsxs)("div",{className:"p-2",children:[(0,t.jsx)("h1",{className:"text-lg font-medium text-foreground",children:"Playground"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"See how LiteLLM transforms your request for the specified provider."}),(0,t.jsxs)("div",{className:"mt-4 grid grid-cols-1 gap-4 lg:grid-cols-2",children:[(0,t.jsxs)(n.Card,{children:[(0,t.jsxs)(n.CardHeader,{children:[(0,t.jsx)(n.CardTitle,{className:"text-2xl font-bold",children:"Original Request"}),(0,t.jsx)(n.CardDescription,{children:"The request you would send to LiteLLM /chat/completions endpoint."})]}),(0,t.jsx)(n.CardContent,{children:(0,t.jsx)(i.Textarea,{className:"h-72 resize-none p-4 font-mono text-sm field-sizing-fixed",value:u,onChange:e=>m(e.target.value),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&(e.preventDefault(),g())},placeholder:"Press Cmd/Ctrl + Enter to transform"})}),(0,t.jsx)(n.CardFooter,{className:"justify-end",children:(0,t.jsxs)(o.Button,{onClick:g,disabled:x,children:[(0,t.jsx)("span",{children:"Transform"}),x?(0,t.jsx)(l.UiLoadingSpinner,{className:"size-4"}):(0,t.jsx)(s.ArrowRight,{})]})})]}),(0,t.jsxs)(n.Card,{children:[(0,t.jsxs)(n.CardHeader,{children:[(0,t.jsx)(n.CardTitle,{className:"text-2xl font-bold",children:"Transformed Request"}),(0,t.jsx)(n.CardDescription,{children:"How LiteLLM transforms your request for the specified provider."}),(0,t.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:"Note: Sensitive headers are not shown."})]}),(0,t.jsx)(n.CardContent,{children:(0,t.jsxs)("div",{className:"relative rounded-md bg-muted",children:[(0,t.jsx)("pre",{className:"h-72 overflow-auto p-4 font-mono text-sm",children:p||`curl -X POST \\
https://api.openai.com/v1/chat/completions \\
-H 'Authorization: Bearer sk-xxx' \\
-H 'Content-Type: application/json' \\
-d '{
"model": "gpt-4",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
}
],
"temperature": 0.7
}'`}),(0,t.jsx)(o.Button,{variant:"ghost",size:"icon-sm","aria-label":"Copy to clipboard",className:"absolute top-2 right-2",onClick:()=>{navigator.clipboard.writeText(p||""),c.toast.success("Copied to clipboard")},children:(0,t.jsx)(a.Copy,{})})]})})]})]}),(0,t.jsx)("div",{className:"mt-4 text-right",children:(0,t.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Found an error? File an issue"," ",(0,t.jsx)("a",{className:"underline underline-offset-4",href:"https://github.com/BerriAI/litellm/issues",target:"_blank",rel:"noopener noreferrer",children:"here"}),"."]})})]})};var m=e.i(135214);e.s(["default",0,function(){let{accessToken:e}=(0,m.default)();return(0,t.jsx)(u,{accessToken:e})}],411929)}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,178971,e=>{"use strict";var t=e.i(843476),s=e.i(271645),u=e.i(135214),l=e.i(227409);function n(){let{accessToken:e}=(0,u.default)(),[n,c]=(0,s.useState)([]);return(0,t.jsx)("div",{className:"mx-auto w-full max-w-5xl px-8 py-8",children:(0,t.jsx)(l.default,{accessToken:e??"",selectedServers:n,onChange:c})})}e.s(["default",0,function(){return(0,t.jsx)(s.Suspense,{children:(0,t.jsx)(n,{})})}])}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,35440,e=>{var s=e.i(843476),t=e.i(405033),a=e.i(271645),l=e.i(217923),d=e.i(266027),r=e.i(602869),i=e.i(519455),o=e.i(302747);function n(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:e.toLocaleString()}function u({data:e,maxVal:t}){let a=Math.max(2,Math.floor(200/Math.max(e.length,1)));return(0,s.jsx)("div",{className:"flex items-end gap-px",style:{height:48},children:e.map((e,l)=>{let d=t>0?Math.max(2,e/t*48):2;return(0,s.jsx)("div",{className:"bg-primary rounded-[1px]",style:{width:a,height:d,opacity:.7+e/Math.max(t,1)*.3}},l)})})}let c=[{value:"7d",label:"7d"},{value:"30d",label:"30d"},{value:"90d",label:"90d"}],m=({accessToken:e,userId:t})=>{let m,x,[h,v]=(0,a.useState)("30d"),{start:b,end:g}=(m=new Date,(x=new Date).setDate(m.getDate()-("7d"===h?7:"30d"===h?30:90)),{start:x,end:m}),{data:p,isLoading:f}=(0,d.f)({queryKey:["chat-user-usage",e,t,h],queryFn:()=>(0,r.sh)("user",{accessToken:e,startTime:b,endTime:g,entityIds:t?[t]:null}),enabled:!!e}),j=p?.metadata,N=p?.results??[],_=N.map(e=>e.metrics.spend),y=N.map(e=>e.metrics.api_requests),q=Math.max(..._,0),w=Math.max(...y,0),T=j?[{label:"Total Spend",value:`$${j.total_spend.toFixed(2)}`},{label:"API Requests",value:n(j.total_api_requests)},{label:"Tokens Used",value:n(j.total_tokens),sub:`${n(j.total_prompt_tokens)} in / ${n(j.total_completion_tokens)} out`},{label:"Success Rate",value:j.total_api_requests>0?`${(j.total_successful_requests/j.total_api_requests*100).toFixed(1)}%`:"N/A",sub:j.total_failed_requests>0?`${j.total_failed_requests} failed`:void 0,subVariant:j.total_failed_requests>0?"error":void 0}]:[];return(0,s.jsxs)("div",{className:"w-full",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"text-base font-semibold text-foreground mb-0.5",children:"Your Usage"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground m-0",children:"Spend and request activity"})]}),(0,s.jsx)("div",{className:"flex gap-1",children:c.map(e=>(0,s.jsx)(i.K,{variant:h===e.value?"default":"outline",size:"sm",onClick:()=>v(e.value),children:e.label},e.value))})]}),f?(0,s.jsx)("div",{className:"grid grid-cols-2 gap-3",children:[void 0,void 0,void 0,void 0].map((e,t)=>(0,s.jsxs)("div",{className:"border rounded-lg p-4 bg-card flex flex-col gap-2",children:[(0,s.jsx)(o.f,{className:"h-3 w-1/2"}),(0,s.jsx)(o.f,{className:"h-5 w-2/3"})]},t))}):j&&0!==j.total_api_requests?(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"grid grid-cols-2 gap-3 mb-5",children:T.map(e=>(0,s.jsxs)("div",{className:"border rounded-lg p-4 bg-card",children:[(0,s.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:e.label}),(0,s.jsx)("div",{className:"text-xl font-semibold text-foreground",children:e.value}),e.sub&&(0,s.jsx)("div",{className:`text-xs mt-0.5 ${"error"===e.subVariant?"text-destructive":"text-muted-foreground"}`,children:e.sub})]},e.label))}),N.length>1&&(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsxs)("div",{className:"border rounded-lg p-4 bg-card",children:[(0,s.jsx)("div",{className:"text-xs text-muted-foreground mb-2",children:"Daily Spend"}),(0,s.jsx)(u,{data:_,maxVal:q})]}),(0,s.jsxs)("div",{className:"border rounded-lg p-4 bg-card",children:[(0,s.jsx)("div",{className:"text-xs text-muted-foreground mb-2",children:"Daily Requests"}),(0,s.jsx)(u,{data:y,maxVal:w})]})]})]}):(0,s.jsxs)("div",{className:"text-center text-muted-foreground text-sm py-12 border border-dashed rounded-lg",children:[(0,s.jsx)(l.f,{className:"h-6 w-6 mb-3 mx-auto text-muted-foreground/50"}),"No usage data for this period"]})]})};e.s(["default",0,function(){let{accessToken:e,userId:a}=(0,t.k)();return(0,s.jsx)("div",{className:"flex-1 min-h-0 overflow-auto w-full py-8 px-8",children:(0,s.jsx)(m,{accessToken:e,userId:a})})}],35440)},302747,e=>{var s=e.i(843476),t=e.i(196631);e.s(["f",0,function({className:e,...a}){return(0,s.jsx)("div",{"data-slot":"skeleton",className:(0,t.c)("animate-pulse rounded-md bg-muted",e),...a})}])}])})();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,248536,e=>{"use strict";var s=e.i(843476),t=e.i(271645),l=e.i(405033),n=e.i(227409);function i(){let{accessToken:e,selectedMCPServers:t,setSelectedMCPServers:i}=(0,l.useChatShell)();return(0,s.jsx)("div",{className:"flex-1 min-h-0 overflow-auto w-full py-8 px-8",children:(0,s.jsx)(n.default,{accessToken:e,selectedServers:t,onChange:i})})}e.s(["default",0,function(){return(0,s.jsx)(t.Suspense,{children:(0,s.jsx)(i,{})})}])}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,68 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,191905,e=>{"use strict";var t=e.i(843476),n=e.i(466828),r=e.i(677572),s=e.i(778917),a=e.i(196631);let o=({href:e,className:n})=>(0,t.jsxs)("a",{href:e,target:"_blank",rel:"noopener noreferrer",title:"Open documentation in a new tab",className:(0,a.cn)("inline-flex items-center gap-2 rounded-xl border border-border bg-card/80 px-3.5 py-2 text-sm font-medium text-foreground shadow-xs","hover:bg-card focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring active:translate-y-[0.5px]",n),children:[(0,t.jsx)("span",{children:"API Reference Docs"}),(0,t.jsx)(s.ExternalLink,{"aria-hidden":!0,className:"h-4 w-4 opacity-80"}),(0,t.jsx)("span",{className:"sr-only",children:"(opens in a new tab)"})]}),i=({proxySettings:e})=>{let s="<your_proxy_base_url>",a=e?.LITELLM_UI_API_DOC_BASE_URL;return a&&a.trim()?s=a:e?.PROXY_BASE_URL&&(s=e.PROXY_BASE_URL),(0,t.jsx)("div",{className:"grid grid-cols-1 gap-2 p-8 h-[80vh] w-full mt-2",children:(0,t.jsxs)("div",{className:"mb-5",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:"OpenAI Compatible Proxy: API Reference"}),(0,t.jsx)(o,{className:"ml-3 shrink-0",href:"https://docs.litellm.ai/docs/proxy/user_keys"})]}),(0,t.jsxs)("p",{className:"mt-2 mb-2 text-sm text-muted-foreground",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,t.jsxs)(r.Tabs,{defaultValue:"openai",children:[(0,t.jsxs)(r.TabsList,{variant:"line",className:"border-b rounded-none w-full justify-start h-auto p-0",children:[(0,t.jsx)(r.TabsTrigger,{value:"openai",className:"rounded-none px-4 py-2 flex-none",children:"OpenAI Python SDK"}),(0,t.jsx)(r.TabsTrigger,{value:"llamaindex",className:"rounded-none px-4 py-2 flex-none",children:"LlamaIndex"}),(0,t.jsx)(r.TabsTrigger,{value:"langchain",className:"rounded-none px-4 py-2 flex-none",children:"Langchain Py"})]}),(0,t.jsx)(r.TabsContent,{value:"openai",keepMounted:!0,children:(0,t.jsx)(n.default,{language:"python",code:`import openai
client = openai.OpenAI(
api_key="your_api_key",
base_url="${s}" # LiteLLM Proxy is OpenAI compatible, Read More: https://docs.litellm.ai/docs/proxy/user_keys
)
response = client.chat.completions.create(
model="gpt-3.5-turbo", # model to send to the proxy
messages = [
{
"role": "user",
"content": "this is a test request, write a short poem"
}
]
)
print(response)`})}),(0,t.jsx)(r.TabsContent,{value:"llamaindex",keepMounted:!0,children:(0,t.jsx)(n.default,{language:"python",code:`import os, dotenv
from llama_index.llms import AzureOpenAI
from llama_index.embeddings import AzureOpenAIEmbedding
from llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext
llm = AzureOpenAI(
engine="azure-gpt-3.5", # model_name on litellm proxy
temperature=0.0,
azure_endpoint="${s}", # litellm proxy endpoint
api_key="<your-master-key>", # litellm proxy API Key
api_version="2023-07-01-preview",
)
embed_model = AzureOpenAIEmbedding(
deployment_name="azure-embedding-model",
azure_endpoint="${s}",
api_key="<your-master-key>",
api_version="2023-07-01-preview",
)
documents = SimpleDirectoryReader("llama_index_data").load_data()
service_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model)
index = VectorStoreIndex.from_documents(documents, service_context=service_context)
query_engine = index.as_query_engine()
response = query_engine.query("What did the author do growing up?")
print(response)`})}),(0,t.jsx)(r.TabsContent,{value:"langchain",keepMounted:!0,children:(0,t.jsx)(n.default,{language:"python",code:`from langchain.chat_models import ChatOpenAI
from langchain.prompts.chat import (
ChatPromptTemplate,
HumanMessagePromptTemplate,
SystemMessagePromptTemplate,
)
from langchain.schema import HumanMessage, SystemMessage
chat = ChatOpenAI(
openai_api_base="${s}",
model = "gpt-3.5-turbo",
temperature=0.1
)
messages = [
SystemMessage(
content="You are a helpful assistant that im using to make a test request to."
),
HumanMessage(
content="test from litellm. tell me why it's amazing in 1 sentence"
),
]
response = chat(messages)
print(response)`})})]})]})})};var l=e.i(541202),d=e.i(135214),m=e.i(592392);e.s(["default",0,()=>{let{accessToken:e}=(0,d.default)(),n=(0,m.default)(e);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.DeprecationBanner,{featureName:"The API Reference tab"}),(0,t.jsx)(i,{proxySettings:n})]})}],191905)},541202,e=>{"use strict";var t=e.i(843476),n=e.i(271645),r=e.i(522016),s=e.i(952571),a=e.i(37727);e.s(["DeprecationBanner",0,({featureName:e})=>{let[o,i]=(0,n.useState)(!1);return o?null:(0,t.jsxs)("div",{role:"alert",className:"mb-4 flex items-start gap-3 rounded-lg border border-border bg-muted/50 px-4 py-3 text-sm",children:[(0,t.jsx)(s.Info,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"font-medium",children:`${e} is on a draft deprecation list`}),(0,t.jsxs)("p",{className:"mt-1 break-words text-muted-foreground",children:[`${e} is one of several experimental features we're considering removing, potentially as early as September 1, 2026. This list is a draft and is not final. If you rely on this feature, please share feedback on the `,(0,t.jsx)(r.default,{href:"https://github.com/BerriAI/litellm/discussions/32090",target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-4",children:"deprecation discussion"}),"."]})]}),(0,t.jsx)("button",{type:"button","aria-label":"Close",onClick:()=>i(!0),className:"shrink-0 rounded-md p-0.5 text-muted-foreground transition-colors hover:text-foreground",children:(0,t.jsx)(a.X,{className:"size-4"})})]})}])}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,178971,e=>{"use strict";var s=e.i(843476),t=e.i(271645),n=e.i(135214),c=e.i(227409);function i(){let{accessToken:e}=(0,n.f)(),[i,u]=(0,t.useState)([]);return(0,s.jsx)("div",{className:"mx-auto w-full max-w-5xl px-8 py-8",children:(0,s.jsx)(c.f,{accessToken:e??"",selectedServers:i,onChange:u})})}e.s(["default",0,function(){return(0,s.jsx)(t.Suspense,{children:(0,s.jsx)(i,{})})}])}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,312130,e=>{"use strict";var t=e.i(843476),l=e.i(271645),a=e.i(519455),o=e.i(515288),s=e.i(793479),r=e.i(110204),n=e.i(571303),i=e.i(275144),u=e.i(602869),d=e.i(417385);let c=({userID:e,userRole:c,accessToken:m})=>{let{setLogoUrl:h,setLogoUrlDark:g,setFaviconUrl:p}=(0,i.useTheme)(),[x,f]=(0,l.useState)(""),[v,j]=(0,l.useState)(""),[y,_]=(0,l.useState)(""),[b,C]=(0,l.useState)(!1);(0,l.useEffect)(()=>{m&&L()},[m]);let L=async()=>{try{let e=(0,u.getProxyBaseUrl)(),t=e?`${e}/get/ui_theme_settings`:"/get/ui_theme_settings",l=await fetch(t,{method:"GET",headers:{[(0,u.getGlobalLitellmHeaderName)()]:`Bearer ${m}`,"Content-Type":"application/json"}});if(l.ok){let e=await l.json();f(e.values?.logo_url||""),j(e.values?.logo_url_dark||""),_(e.values?.favicon_url||""),h(e.values?.logo_url||null),g(e.values?.logo_url_dark||null),p(e.values?.favicon_url||null)}}catch(e){console.error("Error fetching theme settings:",e)}},N=async()=>{C(!0);try{let e=(0,u.getProxyBaseUrl)(),t=e?`${e}/update/ui_theme_settings`:"/update/ui_theme_settings";if((await fetch(t,{method:"PATCH",headers:{[(0,u.getGlobalLitellmHeaderName)()]:`Bearer ${m}`,"Content-Type":"application/json"},body:JSON.stringify({logo_url:x||null,logo_url_dark:v||null,favicon_url:y||null})})).ok)d.toast.success("Theme settings updated successfully!"),h(x||null),g(v||null),p(y||null);else throw Error("Failed to update settings")}catch(e){console.error("Error updating theme settings:",e),d.toast.fromError("Failed to update theme settings")}finally{C(!1)}},k=async()=>{f(""),j(""),_(""),h(null),g(null),p(null),C(!0);try{let e=(0,u.getProxyBaseUrl)(),t=e?`${e}/update/ui_theme_settings`:"/update/ui_theme_settings";if((await fetch(t,{method:"PATCH",headers:{[(0,u.getGlobalLitellmHeaderName)()]:`Bearer ${m}`,"Content-Type":"application/json"},body:JSON.stringify({logo_url:null,logo_url_dark:null,favicon_url:null})})).ok)d.toast.success("Theme settings reset to default!");else throw Error("Failed to reset")}catch(e){console.error("Error resetting theme settings:",e),d.toast.fromError("Failed to reset theme settings")}finally{C(!1)}};return m?(0,t.jsxs)("div",{className:"w-full mx-auto max-w-4xl px-6 py-8",children:[(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsx)("h1",{className:"mb-2 text-2xl font-bold",children:"UI Theme Customization"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Customize your LiteLLM admin dashboard with a custom logo and favicon."})]}),(0,t.jsx)(o.Card,{children:(0,t.jsxs)(o.CardContent,{className:"space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(r.Label,{htmlFor:"ui-theme-logo-url",className:"mb-2",children:"Custom Logo URL"}),(0,t.jsx)(s.Input,{id:"ui-theme-logo-url",placeholder:"https://example.com/logo.png",value:x,onChange:e=>{f(e.target.value),h(e.target.value||null)}}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Enter a URL for your custom logo or leave empty for default"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(r.Label,{htmlFor:"ui-theme-logo-url-dark",className:"mb-2",children:"Custom Logo URL (dark mode)"}),(0,t.jsx)(s.Input,{id:"ui-theme-logo-url-dark",placeholder:"https://example.com/logo-dark.png",value:v,onChange:e=>{j(e.target.value),g(e.target.value||null)}}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Enter a URL for a logo suited to dark backgrounds, or leave empty to reuse the logo above"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(r.Label,{htmlFor:"ui-theme-favicon-url",className:"mb-2",children:"Custom Favicon URL"}),(0,t.jsx)(s.Input,{id:"ui-theme-favicon-url",placeholder:"https://example.com/favicon.ico",value:y,onChange:e=>{_(e.target.value),p(e.target.value||null)}}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Enter a URL for your custom favicon (.ico, .png, or .svg) or leave empty for default"})]}),(0,t.jsxs)("div",{className:"flex gap-3 pt-4",children:[(0,t.jsxs)(a.Button,{onClick:N,disabled:b,children:[b&&(0,t.jsx)(n.UiLoadingSpinner,{className:"size-4"}),"Save Changes"]}),(0,t.jsxs)(a.Button,{variant:"outline",onClick:k,disabled:b,children:[b&&(0,t.jsx)(n.UiLoadingSpinner,{className:"size-4"}),"Reset to Default"]})]})]})})]}):null};var m=e.i(135214);e.s(["default",0,function(){let{accessToken:e,userRole:l,userId:a}=(0,m.default)();return(0,t.jsx)(c,{userID:a,userRole:l,accessToken:e})}],312130)}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,269638,t=>{"use strict";let a=(0,t.i(475254).default)("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"}]]);t.s(["CheckCircle",0,a],269638)},431343,t=>{"use strict";let a=(0,t.i(475254).default)("play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);t.s(["Play",0,a],431343)},868499,t=>{"use strict";var a=t.i(843476);t.s([],558762),t.i(558762);var e=t.i(366250),o=t.i(402820),l=t.i(156736),r=t.i(209793),i=t.i(784324),n=t.i(264951),s=t.i(77173);let d=t.i(313488).DialogTrigger;var u=t.i(974217),g=t.i(325326),c=t.i(301807);let p={modal:!0,disablePointerDismissal:!0,role:"alertdialog"};class f extends g.DialogHandle{constructor(t){super(t??new c.DialogStore(p)),t&&this.store.update(p)}}t.s(["Backdrop",()=>o.DialogBackdrop,"Close",()=>l.DialogClose,"Description",()=>r.DialogDescription,"Handle",0,f,"Popup",()=>i.DialogPopup,"Portal",()=>n.DialogPortal,"Root",0,function(t){return(0,e.useRenderDialogRoot)(t,"alert-dialog")},"Title",()=>s.DialogTitle,"Trigger",0,d,"Viewport",()=>u.DialogViewport,"createHandle",0,function(){return new f}],734604);var m=t.i(734604),m=m,x=t.i(196631),D=t.i(519455);function j({...t}){return(0,a.jsx)(m.Portal,{"data-slot":"alert-dialog-portal",...t})}function z({className:t,...e}){return(0,a.jsx)(m.Backdrop,{"data-slot":"alert-dialog-overlay",className:(0,x.cn)("fixed inset-0 isolate z-popup bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",t),...e})}t.s(["AlertDialog",0,function({...t}){return(0,a.jsx)(m.Root,{"data-slot":"alert-dialog",...t})},"AlertDialogAction",0,function({className:t,variant:e="default",size:o="default",...l}){return(0,a.jsx)(m.Close,{"data-slot":"alert-dialog-action",className:(0,x.cn)(t),render:(0,a.jsx)(D.Button,{variant:e,size:o}),...l})},"AlertDialogCancel",0,function({className:t,variant:e="outline",size:o="default",...l}){return(0,a.jsx)(m.Close,{"data-slot":"alert-dialog-cancel",className:(0,x.cn)(t),render:(0,a.jsx)(D.Button,{variant:e,size:o}),...l})},"AlertDialogContent",0,function({className:t,size:e="default",...o}){return(0,a.jsxs)(j,{children:[(0,a.jsx)(z,{}),(0,a.jsx)(m.Popup,{"data-slot":"alert-dialog-content","data-size":e,className:(0,x.cn)("group/alert-dialog-content fixed top-1/2 left-1/2 z-popup grid w-full -translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-popover p-6 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",t),...o})]})},"AlertDialogDescription",0,function({className:t,...e}){return(0,a.jsx)(m.Description,{"data-slot":"alert-dialog-description",className:(0,x.cn)("text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",t),...e})},"AlertDialogFooter",0,function({className:t,...e}){return(0,a.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,x.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",t),...e})},"AlertDialogHeader",0,function({className:t,...e}){return(0,a.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,x.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",t),...e})},"AlertDialogTitle",0,function({className:t,...e}){return(0,a.jsx)(m.Title,{"data-slot":"alert-dialog-title",className:(0,x.cn)("text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",t),...e})},"AlertDialogTrigger",0,function({...t}){return(0,a.jsx)(m.Trigger,{"data-slot":"alert-dialog-trigger",...t})}],868499)}]);

View file

@ -1 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,595468,e=>{"use strict";var i=e.i(123287);e.s(["CheckCircle2",()=>i.default])},798031,e=>{"use strict";let i=(0,e.i(475254).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["default",0,i])},373884,e=>{"use strict";var i=e.i(798031);e.s(["XCircle",()=>i.default])},77705,e=>{"use strict";let i=(0,e.i(475254).default)("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"}]]);e.s(["EyeOff",0,i],77705)},286536,e=>{"use strict";let i=(0,e.i(475254).default)("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"}]]);e.s(["Eye",0,i],286536)},450240,e=>{"use strict";var i=e.i(843476),r=e.i(286536),t=e.i(77705),d=e.i(271645),s=e.i(950594);let a=d.forwardRef(({className:e,groupClassName:a,disabled:l,...o},c)=>{let[n,u]=d.useState(!1);return(0,i.jsxs)(s.InputGroup,{className:a,children:[(0,i.jsx)(s.InputGroupInput,{...o,ref:c,type:n?"text":"password",disabled:l,className:e}),(0,i.jsx)(s.InputGroupAddon,{align:"inline-end",children:(0,i.jsx)(s.InputGroupButton,{size:"icon-xs",disabled:l,"aria-label":n?"Hide password":"Show password",onClick:()=>u(e=>!e),children:n?(0,i.jsx)(t.EyeOff,{}):(0,i.jsx)(r.Eye,{})})})]})});a.displayName="PasswordInput",e.s(["PasswordInput",0,a])},182668,e=>{"use strict";var i=e.i(843476),r=e.i(271645),t=e.i(653145),d=e.i(542450);e.s(["FormField",0,({control:e,name:s,label:a,description:l,orientation:o,className:c,children:n})=>{let u=r.useId(),p=`${u}-control`,y=`${u}-description`,h=`${u}-error`;return(0,i.jsx)(t.Controller,{control:e,name:s,render:({field:e,fieldState:r})=>{let t=void 0!==r.error,s=[void 0!==l?y:void 0,t?h:void 0].filter(e=>void 0!==e).join(" ")||void 0,u={...e,id:p,"aria-invalid":t||void 0,"aria-describedby":s};return(0,i.jsxs)(d.Field,{orientation:o,"data-invalid":t||void 0,className:c,children:[void 0!==a&&(0,i.jsx)(d.FieldLabel,{htmlFor:p,children:a}),n(u),void 0!==l&&(0,i.jsx)(d.FieldDescription,{id:y,children:l}),(0,i.jsx)(d.FieldError,{id:h,errors:[r.error]})]})}})}])}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show more