Squashed commit of the following:

commit 2ee8513763
Author: Krrish Dholakia <krrishdholakia@gmail.com>
Date:   Sat Aug 2 23:03:57 2025 -0700

    fix(key_management_endpoints.py): fix check

commit 271fce9f39
Author: Krrish Dholakia <krrishdholakia@gmail.com>
Date:   Sat Aug 2 23:01:46 2025 -0700

    build: update poetry

commit 9aeca96c16
Author: Jugal D. Bhatt <55304795+jugaldb@users.noreply.github.com>
Date:   Sat Aug 2 22:37:02 2025 -0700

    fix openshift (#13239)

commit 3119064e94
Author: Krish Dholakia <krrishdholakia@gmail.com>
Date:   Sat Aug 2 22:33:37 2025 -0700

    Prompt Management - add prompts on UI  (#13240)

    * fix(create_key_button.tsx): add prompts on UI

    * feat(key_management_endpoints.py): support adding prompt to key via `/key/update`

    * fix(key_info_view.tsx): show existing prompts on key in key_info_view.tsx

    * fix(key_edit_view.tsx): UX - disable premium feature for non-premium users

    prevent accidental clicking

    * fix(create_key_button.tsx): disable premium features behind flag, prevent errors

    * feat(prompts.tsx): add new ui component to view created prompts

    enables viewing prompts created on config

    * feat(prompt_info.tsx): add component for viewing the prompt information

    * feat(prompt_endpoints.py): support converting dotprompt to json structure + accept json structure in promptmanager

    allows prompt manager to work with api endpoints

    * test(test_prompt_manager.py): add unit tests for json data input

    * feat(dotprompt/__init__.py): add prompt data to dotpromptmanager

    * fix(prompt_endpoints.py): working crud endpoints for prompt management

    * feat(prompts/): support `prompt_file` for dotprompt

    allows to precisely point to the prompt file a prompt should use

    * feat(proxy/utils.py): resolve prompt id correctly

    resolves user sent prompt id with internal prompt id

    * feat(schema.prisma): initial pr with db schema for prompt management table

    allows post endpoints to work with backend

    * feat(prompt_endpoints.py): use db in patch_prompt endpoint

    * feat(prompt_endpoints.py): use db for update_prompt endpoint

    * feat(prompt_endpoints.py): use db on prompt delete endpoint

    * build(schema.prisma): add prompt tale to schema.prisma in litellm-proxy-extras

    * build(migration.sql): add new sql migration file

    * fix(init_prompts.py): fix init

    * feat(prompt_info_view.tsx): show the raw prompt template on ui

    allows developer to know the prompt template they'll be calling

    * feat(add_prompt_form.tsx): working ui add prompt flow

    allows user to add prompts to litellm via ui

    * build(ui/): styling fixes

    * build(ui/): prompts.tsx

    styling improvements

    * fix(add_prompt_form.tsx): styling improvements

    * build(prompts.tsx): styling improvements

    * build(ui/): styling improvements

    * build(ui/): fix ui error

    * fix: fix ruff check

    * docs: document new api params

    * test: update tests

commit e47b30a76d
Author: Krish Dholakia <krrishdholakia@gmail.com>
Date:   Sat Aug 2 19:34:18 2025 -0700

    Prompt Management - Add table + prompt info page to UI  (#13232)

    * fix(create_key_button.tsx): add prompts on UI

    * feat(key_management_endpoints.py): support adding prompt to key via `/key/update`

    * fix(key_info_view.tsx): show existing prompts on key in key_info_view.tsx

    * fix(key_edit_view.tsx): UX - disable premium feature for non-premium users

    prevent accidental clicking

    * fix(create_key_button.tsx): disable premium features behind flag, prevent errors

    * feat(prompts.tsx): add new ui component to view created prompts

    enables viewing prompts created on config

    * feat(prompt_info.tsx): add component for viewing the prompt information

commit b79f55eec0
Author: Krish Dholakia <krrishdholakia@gmail.com>
Date:   Sat Aug 2 19:33:17 2025 -0700

    UI - Add giving keys prompt access (#13233)

    * fix(create_key_button.tsx): add prompts on UI

    * feat(key_management_endpoints.py): support adding prompt to key via `/key/update`

    * fix(key_info_view.tsx): show existing prompts on key in key_info_view.tsx

    * fix(key_edit_view.tsx): UX - disable premium feature for non-premium users

    prevent accidental clicking

    * fix(create_key_button.tsx): disable premium features behind flag, prevent errors

    * fix(key_management_endpoints.py): fix key update logic \

    * fix: fix check

    * docs: document new params

commit 4c217c66f5
Author: Ishaan Jaff <ishaanjaffer0324@gmail.com>
Date:   Sat Aug 2 17:26:40 2025 -0700

    docs User Agent Activity Tracking

commit 2ee4e84406
Author: Ishaan Jaff <ishaanjaffer0324@gmail.com>
Date:   Sat Aug 2 16:47:44 2025 -0700

    docs fix

commit 06856b4d37
Author: Ishaan Jaff <ishaanjaffer0324@gmail.com>
Date:   Sat Aug 2 15:47:09 2025 -0700

    docs fix

commit 0f9f5f7a6c
Author: Ishaan Jaff <ishaanjaffer0324@gmail.com>
Date:   Sat Aug 2 15:44:59 2025 -0700

    docs fix

commit 69a360429c
Author: Ishaan Jaff <ishaanjaffer0324@gmail.com>
Date:   Sat Aug 2 15:34:14 2025 -0700

    agent 4.png

commit e32169dc37
Author: Ishaan Jaff <ishaanjaffer0324@gmail.com>
Date:   Sat Aug 2 15:29:44 2025 -0700

    docs cost tracking coding

commit 340b64a46a
Author: Ishaan Jaff <ishaanjaffer0324@gmail.com>
Date:   Sat Aug 2 15:18:04 2025 -0700

    docs - Track Usage for Coding Tools

commit 9b029c35be
Author: Ishaan Jaff <ishaanjaffer0324@gmail.com>
Date:   Sat Aug 2 15:06:12 2025 -0700

    docs RC

commit 8d6b333909
Author: Ishaan Jaff <ishaanjaffer0324@gmail.com>
Date:   Sat Aug 2 15:00:48 2025 -0700

    docs computer use

commit e306fb6eee
Author: Ishaan Jaff <ishaanjaffer0324@gmail.com>
Date:   Sat Aug 2 14:15:10 2025 -0700

    [docs release notes] (#13237)

    * docs release notes

    * docs release notes

    * docs rnotes

    * docs api version

    * fixes docs

    * docs rn

commit 5dfc88473f
Author: Ishaan Jaff <ishaanjaffer0324@gmail.com>
Date:   Sat Aug 2 13:30:51 2025 -0700

    fixes MCP gateway docs

commit 6929767be2
Author: Ishaan Jaff <ishaanjaffer0324@gmail.com>
Date:   Sat Aug 2 12:56:00 2025 -0700

    docs release notes
This commit is contained in:
Krrish Dholakia 2025-08-05 22:14:14 -07:00
parent 0d0a65a98f
commit 63757c4230
6 changed files with 190 additions and 526 deletions

View file

@ -71,6 +71,20 @@ RUN mkdir -p /nonexistent /.npm && \
PRISMA_PATH=$(python -c "import os, prisma; print(os.path.dirname(prisma.__file__))") && \
chown -R nobody:nogroup $PRISMA_PATH
# --- OpenShift Compatibility: Apply Red Hat recommended pattern ---
# Get paths for directories that need write access at runtime
RUN PRISMA_PATH=$(python -c "import os, prisma; print(os.path.dirname(prisma.__file__))") && \
LITELLM_PROXY_EXTRAS_PATH=$(python -c "import os, litellm_proxy_extras; print(os.path.dirname(litellm_proxy_extras.__file__))" 2>/dev/null || echo "") && \
# Set group ownership to 0 (root group) for OpenShift compatibility && \
chgrp -R 0 $PRISMA_PATH && \
[ -n "$LITELLM_PROXY_EXTRAS_PATH" ] && chgrp -R 0 $LITELLM_PROXY_EXTRAS_PATH || true && \
# Mirror owner permissions to group (g=u) as recommended by Red Hat && \
chmod -R g=u $PRISMA_PATH && \
[ -n "$LITELLM_PROXY_EXTRAS_PATH" ] && chmod -R g=u $LITELLM_PROXY_EXTRAS_PATH || true && \
# Ensure directories are writable by group && \
chmod -R g+w $PRISMA_PATH && \
[ -n "$LITELLM_PROXY_EXTRAS_PATH" ] && chmod -R g+w $LITELLM_PROXY_EXTRAS_PATH || true
# Switch to non-root user
USER nobody

View file

@ -1,6 +1,6 @@
[tool.poetry]
name = "litellm-proxy-extras"
version = "0.2.14"
version = "0.2.15"
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.2.14"
version = "0.2.15"
version_files = [
"pyproject.toml:version",
"../requirements.txt:litellm-proxy-extras==",

View file

@ -856,14 +856,6 @@ async def prepare_key_update_data(
data: Union[UpdateKeyRequest, RegenerateKeyRequest],
existing_key_row: LiteLLM_VerificationToken,
):
for field in LiteLLM_ManagementEndpoint_MetadataFields_Premium:
if getattr(data, field, None) is not None:
_set_object_metadata_field(
object_data=data,
field_name=field,
value=getattr(data, field),
)
delattr(data, field)
data_json: dict = data.model_dump(exclude_unset=True)
data_json.pop("key", None)

686
poetry.lock generated

File diff suppressed because it is too large Load diff

View file

@ -57,7 +57,7 @@ websockets = {version = "^13.1.0", optional = true}
boto3 = {version = "1.34.34", optional = true}
redisvl = {version = "^0.4.1", optional = true, markers = "python_version >= '3.9' and python_version < '3.14'"}
mcp = {version = "^1.10.0", optional = true, python = ">=3.10"}
litellm-proxy-extras = {version = "0.2.14", optional = true}
litellm-proxy-extras = {version = "0.2.15", optional = true}
rich = {version = "13.7.1", optional = true}
litellm-enterprise = {version = "0.1.16", optional = true}
diskcache = {version = "^5.6.1", optional = true}

View file

@ -40,7 +40,7 @@ sentry_sdk==2.21.0 # for sentry error handling
detect-secrets==1.5.0 # Enterprise - secret detection / masking in LLM requests
cryptography==43.0.1
tzdata==2025.1 # IANA time zone database
litellm-proxy-extras==0.2.14 # for proxy extras - e.g. prisma migrations
litellm-proxy-extras==0.2.15 # for proxy extras - e.g. prisma migrations
### LITELLM PACKAGE DEPENDENCIES
python-dotenv==1.0.1 # for env
tiktoken==0.8.0 # for calculating usage