From 55f448abb819dfa9ec6ca7c9ed3bce4f0983198a Mon Sep 17 00:00:00 2001 From: yuneng-jiang Date: Fri, 6 Mar 2026 23:39:08 -0800 Subject: [PATCH 1/2] =?UTF-8?q?bump:=20version=200.4.51=20=E2=86=92=200.4.?= =?UTF-8?q?52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../litellm_proxy_extras/schema.prisma | 80 +++++++++++++++---- litellm-proxy-extras/pyproject.toml | 4 +- litellm/proxy/schema.prisma | 1 + pyproject.toml | 2 +- requirements.txt | 2 +- schema.prisma | 47 +++++++++++ 6 files changed, 115 insertions(+), 21 deletions(-) diff --git a/litellm-proxy-extras/litellm_proxy_extras/schema.prisma b/litellm-proxy-extras/litellm_proxy_extras/schema.prisma index 6d20a71f03..329ff80933 100644 --- a/litellm-proxy-extras/litellm_proxy_extras/schema.prisma +++ b/litellm-proxy-extras/litellm_proxy_extras/schema.prisma @@ -63,6 +63,8 @@ model LiteLLM_AgentsTable { agent_name String @unique litellm_params Json? agent_card_params Json + static_headers Json? @default("{}") + extra_headers String[] @default([]) agent_access_groups String[] @default([]) object_permission_id String? object_permission LiteLLM_ObjectPermissionTable? @relation(fields: [object_permission_id], references: [object_permission_id]) @@ -288,6 +290,8 @@ model LiteLLM_MCPServerTable { mcp_info Json? @default("{}") mcp_access_groups String[] allowed_tools String[] @default([]) + tool_name_to_display_name Json? @default("{}") + tool_name_to_description Json? @default("{}") extra_headers String[] @default([]) static_headers Json? @default("{}") // Health check status @@ -303,6 +307,21 @@ model LiteLLM_MCPServerTable { registration_url String? allow_all_keys Boolean @default(false) available_on_public_internet Boolean @default(true) + is_byok Boolean @default(false) + byok_description String[] @default([]) + byok_api_key_help_url String? +} + +// Per-user BYOK credentials for MCP servers +model LiteLLM_MCPUserCredentials { + id String @id @default(uuid()) + user_id String + server_id String + credential_b64 String + created_at DateTime @default(now()) @map("created_at") + updated_at DateTime @default(now()) @updatedAt @map("updated_at") + + @@unique([user_id, server_id]) } // Generate Tokens for Proxy @@ -353,6 +372,7 @@ model LiteLLM_VerificationToken { litellm_organization_table LiteLLM_OrganizationTable? @relation(fields: [organization_id], references: [organization_id]) litellm_project_table LiteLLM_ProjectTable? @relation(fields: [project_id], references: [project_id]) object_permission LiteLLM_ObjectPermissionTable? @relation(fields: [object_permission_id], references: [object_permission_id]) + jwt_key_mappings LiteLLM_JWTKeyMapping[] // SELECT COUNT(*) FROM (SELECT "public"."LiteLLM_VerificationToken"."token" FROM "public"."LiteLLM_VerificationToken" WHERE ("public"."LiteLLM_VerificationToken"."user_id" = $1 AND ("public"."LiteLLM_VerificationToken"."team_id" IS NULL OR "public"."LiteLLM_VerificationToken"."team_id" <> $2)) OFFSET $3 ) AS "sub" // SELECT ... FROM "public"."LiteLLM_VerificationToken" WHERE "public"."LiteLLM_VerificationToken"."user_id" = $1 OFFSET $2 @@ -365,6 +385,24 @@ model LiteLLM_VerificationToken { @@index([budget_reset_at, expires]) } +model LiteLLM_JWTKeyMapping { + id String @id @default(uuid()) + jwt_claim_name String // e.g. "sub", "email" + jwt_claim_value String // The claim value to match + token String // Hashed virtual key (FK) + description String? + is_active Boolean @default(true) + created_at DateTime @default(now()) + created_by String? + updated_at DateTime @default(now()) @updatedAt + updated_by String? + + litellm_verification_token LiteLLM_VerificationToken @relation(fields: [token], references: [token]) + + @@unique([jwt_claim_name, jwt_claim_value]) + @@index([jwt_claim_name, jwt_claim_value, is_active]) +} + // Deprecated keys during grace period - allows old key to work until revoke_at model LiteLLM_DeprecatedVerificationToken { id String @id @default(uuid()) @@ -1019,6 +1057,14 @@ model LiteLLM_UISettings { updated_at DateTime @updatedAt } +// Generic config overrides table - one row per config_type +model LiteLLM_ConfigOverrides { + config_type String @id + config_value Json + created_at DateTime @default(now()) + updated_at DateTime @updatedAt +} + // Skills table for storing LiteLLM-managed skills model LiteLLM_SkillsTable { skill_id String @id @default(uuid()) @@ -1077,24 +1123,24 @@ model LiteLLM_PolicyAttachmentTable { updated_by String? } -// Global tool registry - auto-discovered from LLM responses; admins set input_policy/output_policy here +// Global tool registry - auto-discovered from LLM responses; admins set input/output policies here model LiteLLM_ToolTable { - tool_id String @id @default(uuid()) - tool_name String @unique // e.g. "huggingface_remote-mcp__dynamic_space" - origin String? // MCP server name or "user_defined" - input_policy String @default("untrusted") // "trusted" | "untrusted" | "blocked" - output_policy String @default("untrusted") // "trusted" | "untrusted" - call_count Int @default(0) // cumulative number of times this tool was seen - assignments Json? @default("{}") - key_hash String? // hash of the virtual key that first called this tool - team_id String? // team that first called this tool - key_alias String? // human-readable alias of the virtual key - user_agent String? // user-agent of the first request that discovered this tool - last_used_at DateTime? // timestamp of the most recent call - created_at DateTime @default(now()) - created_by String? - updated_at DateTime @default(now()) @updatedAt - updated_by String? + tool_id String @id @default(uuid()) + tool_name String @unique // e.g. "huggingface_remote-mcp__dynamic_space" + origin String? // MCP server name or "user_defined" + input_policy String @default("untrusted") // "trusted" | "untrusted" | "blocked" + output_policy String @default("untrusted") // "trusted" | "untrusted" + call_count Int @default(0) // cumulative number of times this tool was seen + assignments Json? @default("{}") + key_hash String? // hash of the virtual key that first called this tool + team_id String? // team that first called this tool + key_alias String? // human-readable alias of the virtual key + user_agent String? // user-agent of the first request that discovered this tool + last_used_at DateTime? // timestamp of the most recent call + created_at DateTime @default(now()) + created_by String? + updated_at DateTime @default(now()) @updatedAt + updated_by String? @@index([input_policy]) @@index([output_policy]) diff --git a/litellm-proxy-extras/pyproject.toml b/litellm-proxy-extras/pyproject.toml index 634d5ba6d4..25533a09f0 100644 --- a/litellm-proxy-extras/pyproject.toml +++ b/litellm-proxy-extras/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "litellm-proxy-extras" -version = "0.4.51" +version = "0.4.52" description = "Additional files for the LiteLLM Proxy. Reduces the size of the main litellm package." authors = ["BerriAI"] readme = "README.md" @@ -22,7 +22,7 @@ requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.commitizen] -version = "0.4.51" +version = "0.4.52" version_files = [ "pyproject.toml:version", "../requirements.txt:litellm-proxy-extras==", diff --git a/litellm/proxy/schema.prisma b/litellm/proxy/schema.prisma index 4210afc11d..329ff80933 100644 --- a/litellm/proxy/schema.prisma +++ b/litellm/proxy/schema.prisma @@ -1147,6 +1147,7 @@ model LiteLLM_ToolTable { @@index([team_id]) } +// Per-(tool, team/key) policy overrides. When present, override replaces global tool policy for that scope. //Unified Access Groups table for storing unified access groups model LiteLLM_AccessGroupTable { access_group_id String @id @default(uuid()) diff --git a/pyproject.toml b/pyproject.toml index 96f800d9e1..0c42c18c70 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -61,7 +61,7 @@ boto3 = { version = "1.40.76", optional = true } redisvl = {version = "^0.4.1", optional = true, markers = "python_version >= '3.9' and python_version < '3.14'"} mcp = {version = ">=1.25.0,<2.0.0", optional = true, python = ">=3.10"} a2a-sdk = {version = "^0.3.22", optional = true, python = ">=3.10"} -litellm-proxy-extras = {version = "0.4.51", optional = true} +litellm-proxy-extras = {version = "0.4.52", optional = true} rich = {version = "13.7.1", optional = true} litellm-enterprise = {version = "0.1.33", optional = true} diskcache = {version = "^5.6.1", optional = true} diff --git a/requirements.txt b/requirements.txt index c44c97ac6c..a6446dc0cf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -57,7 +57,7 @@ grpcio>=1.75.0; python_version >= "3.14" sentry_sdk==2.21.0 # for sentry error handling detect-secrets==1.5.0 # Enterprise - secret detection / masking in LLM requests tzdata==2025.1 # IANA time zone database -litellm-proxy-extras==0.4.51 # for proxy extras - e.g. prisma migrations +litellm-proxy-extras==0.4.52 # for proxy extras - e.g. prisma migrations llm-sandbox==0.3.31 # for skill execution in sandbox ### LITELLM PACKAGE DEPENDENCIES python-dotenv==1.0.1 # for env diff --git a/schema.prisma b/schema.prisma index f7c0711241..329ff80933 100644 --- a/schema.prisma +++ b/schema.prisma @@ -63,6 +63,8 @@ model LiteLLM_AgentsTable { agent_name String @unique litellm_params Json? agent_card_params Json + static_headers Json? @default("{}") + extra_headers String[] @default([]) agent_access_groups String[] @default([]) object_permission_id String? object_permission LiteLLM_ObjectPermissionTable? @relation(fields: [object_permission_id], references: [object_permission_id]) @@ -288,6 +290,8 @@ model LiteLLM_MCPServerTable { mcp_info Json? @default("{}") mcp_access_groups String[] allowed_tools String[] @default([]) + tool_name_to_display_name Json? @default("{}") + tool_name_to_description Json? @default("{}") extra_headers String[] @default([]) static_headers Json? @default("{}") // Health check status @@ -303,6 +307,21 @@ model LiteLLM_MCPServerTable { registration_url String? allow_all_keys Boolean @default(false) available_on_public_internet Boolean @default(true) + is_byok Boolean @default(false) + byok_description String[] @default([]) + byok_api_key_help_url String? +} + +// Per-user BYOK credentials for MCP servers +model LiteLLM_MCPUserCredentials { + id String @id @default(uuid()) + user_id String + server_id String + credential_b64 String + created_at DateTime @default(now()) @map("created_at") + updated_at DateTime @default(now()) @updatedAt @map("updated_at") + + @@unique([user_id, server_id]) } // Generate Tokens for Proxy @@ -353,6 +372,7 @@ model LiteLLM_VerificationToken { litellm_organization_table LiteLLM_OrganizationTable? @relation(fields: [organization_id], references: [organization_id]) litellm_project_table LiteLLM_ProjectTable? @relation(fields: [project_id], references: [project_id]) object_permission LiteLLM_ObjectPermissionTable? @relation(fields: [object_permission_id], references: [object_permission_id]) + jwt_key_mappings LiteLLM_JWTKeyMapping[] // SELECT COUNT(*) FROM (SELECT "public"."LiteLLM_VerificationToken"."token" FROM "public"."LiteLLM_VerificationToken" WHERE ("public"."LiteLLM_VerificationToken"."user_id" = $1 AND ("public"."LiteLLM_VerificationToken"."team_id" IS NULL OR "public"."LiteLLM_VerificationToken"."team_id" <> $2)) OFFSET $3 ) AS "sub" // SELECT ... FROM "public"."LiteLLM_VerificationToken" WHERE "public"."LiteLLM_VerificationToken"."user_id" = $1 OFFSET $2 @@ -365,6 +385,24 @@ model LiteLLM_VerificationToken { @@index([budget_reset_at, expires]) } +model LiteLLM_JWTKeyMapping { + id String @id @default(uuid()) + jwt_claim_name String // e.g. "sub", "email" + jwt_claim_value String // The claim value to match + token String // Hashed virtual key (FK) + description String? + is_active Boolean @default(true) + created_at DateTime @default(now()) + created_by String? + updated_at DateTime @default(now()) @updatedAt + updated_by String? + + litellm_verification_token LiteLLM_VerificationToken @relation(fields: [token], references: [token]) + + @@unique([jwt_claim_name, jwt_claim_value]) + @@index([jwt_claim_name, jwt_claim_value, is_active]) +} + // Deprecated keys during grace period - allows old key to work until revoke_at model LiteLLM_DeprecatedVerificationToken { id String @id @default(uuid()) @@ -1019,6 +1057,14 @@ model LiteLLM_UISettings { updated_at DateTime @updatedAt } +// Generic config overrides table - one row per config_type +model LiteLLM_ConfigOverrides { + config_type String @id + config_value Json + created_at DateTime @default(now()) + updated_at DateTime @updatedAt +} + // Skills table for storing LiteLLM-managed skills model LiteLLM_SkillsTable { skill_id String @id @default(uuid()) @@ -1101,6 +1147,7 @@ model LiteLLM_ToolTable { @@index([team_id]) } +// Per-(tool, team/key) policy overrides. When present, override replaces global tool policy for that scope. //Unified Access Groups table for storing unified access groups model LiteLLM_AccessGroupTable { access_group_id String @id @default(uuid()) From 5b0c963977b6bdb328b1c2c6e15d0e2255e5472d Mon Sep 17 00:00:00 2001 From: yuneng-jiang Date: Fri, 6 Mar 2026 23:39:53 -0800 Subject: [PATCH 2/2] adding builds --- ...tellm_proxy_extras-0.4.52-py3-none-any.whl | Bin 0 -> 71466 bytes .../dist/litellm_proxy_extras-0.4.52.tar.gz | Bin 0 -> 30740 bytes .../20260306233848_schema_sync/migration.sql | 57 ++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 litellm-proxy-extras/dist/litellm_proxy_extras-0.4.52-py3-none-any.whl create mode 100644 litellm-proxy-extras/dist/litellm_proxy_extras-0.4.52.tar.gz create mode 100644 litellm-proxy-extras/litellm_proxy_extras/migrations/20260306233848_schema_sync/migration.sql diff --git a/litellm-proxy-extras/dist/litellm_proxy_extras-0.4.52-py3-none-any.whl b/litellm-proxy-extras/dist/litellm_proxy_extras-0.4.52-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..d13dbf1553673fbed6e0de1c6d840dfab3debcf4 GIT binary patch literal 71466 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 literal 0 HcmV?d00001 diff --git a/litellm-proxy-extras/litellm_proxy_extras/migrations/20260306233848_schema_sync/migration.sql b/litellm-proxy-extras/litellm_proxy_extras/migrations/20260306233848_schema_sync/migration.sql new file mode 100644 index 0000000000..6395d5b1f8 --- /dev/null +++ b/litellm-proxy-extras/litellm_proxy_extras/migrations/20260306233848_schema_sync/migration.sql @@ -0,0 +1,57 @@ +-- AlterTable +ALTER TABLE "LiteLLM_MCPServerTable" ADD COLUMN "byok_api_key_help_url" TEXT, +ADD COLUMN "byok_description" TEXT[] DEFAULT ARRAY[]::TEXT[], +ADD COLUMN "is_byok" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "tool_name_to_description" JSONB DEFAULT '{}', +ADD COLUMN "tool_name_to_display_name" JSONB DEFAULT '{}'; + +-- CreateTable +CREATE TABLE "LiteLLM_MCPUserCredentials" ( + "id" TEXT NOT NULL, + "user_id" TEXT NOT NULL, + "server_id" TEXT NOT NULL, + "credential_b64" TEXT NOT NULL, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "LiteLLM_MCPUserCredentials_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "LiteLLM_JWTKeyMapping" ( + "id" TEXT NOT NULL, + "jwt_claim_name" TEXT NOT NULL, + "jwt_claim_value" TEXT NOT NULL, + "token" TEXT NOT NULL, + "description" TEXT, + "is_active" BOOLEAN NOT NULL DEFAULT true, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "created_by" TEXT, + "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_by" TEXT, + + CONSTRAINT "LiteLLM_JWTKeyMapping_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "LiteLLM_ConfigOverrides" ( + "config_type" TEXT NOT NULL, + "config_value" JSONB NOT NULL, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "LiteLLM_ConfigOverrides_pkey" PRIMARY KEY ("config_type") +); + +-- CreateIndex +CREATE UNIQUE INDEX "LiteLLM_MCPUserCredentials_user_id_server_id_key" ON "LiteLLM_MCPUserCredentials"("user_id", "server_id"); + +-- CreateIndex +CREATE INDEX "LiteLLM_JWTKeyMapping_jwt_claim_name_jwt_claim_value_is_act_idx" ON "LiteLLM_JWTKeyMapping"("jwt_claim_name", "jwt_claim_value", "is_active"); + +-- CreateIndex +CREATE UNIQUE INDEX "LiteLLM_JWTKeyMapping_jwt_claim_name_jwt_claim_value_key" ON "LiteLLM_JWTKeyMapping"("jwt_claim_name", "jwt_claim_value"); + +-- AddForeignKey +ALTER TABLE "LiteLLM_JWTKeyMapping" ADD CONSTRAINT "LiteLLM_JWTKeyMapping_token_fkey" FOREIGN KEY ("token") REFERENCES "LiteLLM_VerificationToken"("token") ON DELETE RESTRICT ON UPDATE CASCADE; +