From 92e6dc4ab3ac24c3c363867697a8ff4b3a325e39 Mon Sep 17 00:00:00 2001 From: mateo Date: Wed, 23 Sep 2026 02:18:06 +0000 Subject: [PATCH] chore(backport): regenerate the openapi snapshot and dashboard api types for stable/1.101.x The #41615 and #41757 picks brought litellm/proxy/_lazy_openapi_snapshot.json and ui/litellm-dashboard/src/lib/http/schema.d.ts verbatim from main. Both files were regenerated under Python 3.12. --- litellm/proxy/_lazy_openapi_snapshot.json | 222 ------------------ ui/litellm-dashboard/src/lib/http/schema.d.ts | 10 +- 2 files changed, 5 insertions(+), 227 deletions(-) diff --git a/litellm/proxy/_lazy_openapi_snapshot.json b/litellm/proxy/_lazy_openapi_snapshot.json index 2ed353e3f12..4b0479dd1ad 100644 --- a/litellm/proxy/_lazy_openapi_snapshot.json +++ b/litellm/proxy/_lazy_openapi_snapshot.json @@ -15705,228 +15705,6 @@ } } }, - "/typesafe/{endpoint}": { - "delete": { - "description": "[Docs](https://docs.litellm.ai/docs/pass_through/typesafe)", - "operationId": "typesafe_proxy_route_typesafe__endpoint__delete", - "parameters": [ - { - "in": "path", - "name": "endpoint", - "required": true, - "schema": { - "title": "Endpoint", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Typesafe Proxy Route", - "tags": [ - "llm_passthrough" - ] - }, - "get": { - "description": "[Docs](https://docs.litellm.ai/docs/pass_through/typesafe)", - "operationId": "typesafe_proxy_route_typesafe__endpoint__get", - "parameters": [ - { - "in": "path", - "name": "endpoint", - "required": true, - "schema": { - "title": "Endpoint", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Typesafe Proxy Route", - "tags": [ - "llm_passthrough" - ] - }, - "patch": { - "description": "[Docs](https://docs.litellm.ai/docs/pass_through/typesafe)", - "operationId": "typesafe_proxy_route_typesafe__endpoint__patch", - "parameters": [ - { - "in": "path", - "name": "endpoint", - "required": true, - "schema": { - "title": "Endpoint", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Typesafe Proxy Route", - "tags": [ - "llm_passthrough" - ] - }, - "post": { - "description": "[Docs](https://docs.litellm.ai/docs/pass_through/typesafe)", - "operationId": "typesafe_proxy_route_typesafe__endpoint__post", - "parameters": [ - { - "in": "path", - "name": "endpoint", - "required": true, - "schema": { - "title": "Endpoint", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Typesafe Proxy Route", - "tags": [ - "llm_passthrough" - ] - }, - "put": { - "description": "[Docs](https://docs.litellm.ai/docs/pass_through/typesafe)", - "operationId": "typesafe_proxy_route_typesafe__endpoint__put", - "parameters": [ - { - "in": "path", - "name": "endpoint", - "required": true, - "schema": { - "title": "Endpoint", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Typesafe Proxy Route", - "tags": [ - "llm_passthrough" - ] - } - }, "mcp_app": { "components": { "schemas": { diff --git a/ui/litellm-dashboard/src/lib/http/schema.d.ts b/ui/litellm-dashboard/src/lib/http/schema.d.ts index b506645f5b1..322b2bcd5ea 100644 --- a/ui/litellm-dashboard/src/lib/http/schema.d.ts +++ b/ui/litellm-dashboard/src/lib/http/schema.d.ts @@ -1400,8 +1400,8 @@ export interface paths { * * Runs the same check every write path runs (the router's own pydantic model), so a form can * show the backend's exact verdict while the operator is still editing rather than after a - * rejected save. Gated exactly like the save it rehearses: a proxy admin, or a team admin - * naming their own team. Nothing is created, routed, or billed. + * rejected save. Uses the same team opt-in and model-access checks as configuration + * writes for members. Nothing is created, routed, or billed. */ post: operations["validate_complexity_router_config_auto_router_validate_complexity_router_config_post"]; delete?: never; @@ -28209,7 +28209,7 @@ export interface components { * @description Enum for key management routes * @enum {string} */ - KeyManagementRoutes: "/key/generate" | "/key/update" | "/key/delete" | "/key/regenerate" | "/key/service-account/generate" | "/key/{key_id}/regenerate" | "/key/block" | "/key/unblock" | "/key/bulk_update" | "/team/key/bulk_update" | "/key/{key_id}/reset_spend" | "/key/access_group_assignment" | "/key/info" | "/key/health" | "/key/list" | "/key/aliases" | "/team/daily/activity" | "/team/daily/activity/aggregated" | "/spend/logs" | "/spend/logs/v2"; + KeyManagementRoutes: "/key/generate" | "/key/update" | "/key/delete" | "/key/regenerate" | "/key/service-account/generate" | "/key/{key_id}/regenerate" | "/key/block" | "/key/unblock" | "/key/bulk_update" | "/team/key/bulk_update" | "/key/{key_id}/reset_spend" | "/key/access_group_assignment" | "/auto_router/manage" | "/key/info" | "/key/health" | "/key/list" | "/key/aliases" | "/team/daily/activity" | "/team/daily/activity/aggregated" | "/spend/logs" | "/spend/logs/v2"; /** * KeyManagementSystem * @enum {string} @@ -34846,7 +34846,7 @@ export interface components { classification_prompt?: string | null; /** * Classifier Context Budget Chars - * @description Maximum characters of prior-turn text quoted to the LLM or JEV classifier, across the whole context window, per classification call. Turns are taken newest first and quoted whole while they fit, so a conversation small enough to quote entirely is never cut; once the budget runs out the older turns are dropped whole and only the turn straddling the boundary is truncated, into whatever space is left. The current ask and, except for Claude Code requests, the extracted system-role text sit outside this budget and are sent in full, as does the numbering each quoted turn carries. A budget under 120 leaves no room to quote a turn and suppresses the block; set classifier_context_window_size to 0 to turn context off deliberately. Applies to LLM and JEV classification. + * @description Maximum characters of prior-turn text quoted to the LLM or JEV classifier, across the whole context window, per classification call. Turns are taken newest first and quoted whole while they fit, so a conversation small enough to quote entirely is never cut; once the budget runs out the older turns are dropped whole and only the turn straddling the boundary is truncated, into whatever space is left. The current ask and the caller's system prompt sit outside this budget and are always sent in full, as does the numbering each quoted turn carries. A budget under 120 leaves no room to quote a turn and suppresses the block; set classifier_context_window_size to 0 to turn context off deliberately. Applies to LLM and JEV classification. * @default 8000 */ classifier_context_budget_chars: number; @@ -34889,7 +34889,7 @@ export interface components { classifier_plugin_timeout_ms: number; /** * Classifier Type - * @description Classification strategy: local regex/keyword scoring, the bundled trained four-tier heuristic, an LLM tier-selection call, a Switchyard-compatible capability forecast, a joint Fuse V2 forecast, a custom classifier plugin, 'heuristic_first', which scores locally and only pays for the LLM classifier when the local scorer does not confidently land a cheap tier, or 'hybrid', which trusts the local scorer everywhere except when its score lands near a tier boundary, or 'jev', a TypeSafe AI Jev structured choice call + * @description Classification strategy: local regex/keyword scoring, the bundled trained four-tier heuristic, an LLM call, a custom classifier plugin, 'heuristic_first', which scores locally and only pays for the LLM classifier when the local scorer does not confidently land a cheap tier, or 'hybrid', which trusts the local scorer everywhere except when its score lands near a tier boundary, or 'jev', a TypeSafe AI Jev structured choice call * @default heuristic * @enum {string} */