From 25a531aaaaa58e8040f62545653b7a364938cd3f Mon Sep 17 00:00:00 2001 From: moe-berri Date: Wed, 7 Oct 2026 12:45:44 -0700 Subject: [PATCH] fix(lens): bind nullable due timestamps as text for Prisma --- litellm/proxy/lens/repository.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/litellm/proxy/lens/repository.py b/litellm/proxy/lens/repository.py index e966c60381e..f30b3c1030f 100644 --- a/litellm/proxy/lens/repository.py +++ b/litellm/proxy/lens/repository.py @@ -239,7 +239,7 @@ class LensRepository: async def create(self, lens: Lens) -> Lens: await self.db.execute_raw( """INSERT INTO "LiteLLM_Lens" (id, version, data, due_at) - VALUES ($1,0,$2::jsonb,($3::timestamptz AT TIME ZONE 'UTC'))""", + VALUES ($1,0,$2::jsonb,($3::text::timestamptz AT TIME ZONE 'UTC'))""", lens.id, lens.model_dump_json(), scheduled_at.isoformat() if (scheduled_at := due_at(lens)) else None, @@ -249,9 +249,9 @@ class LensRepository: async def sync_due(self, lens: Lens) -> None: await self.db.execute_raw( """UPDATE "LiteLLM_Lens" - SET due_at=($3::timestamptz AT TIME ZONE 'UTC') + SET due_at=($3::text::timestamptz AT TIME ZONE 'UTC') WHERE id=$1 AND version=$2 - AND due_at IS DISTINCT FROM ($3::timestamptz AT TIME ZONE 'UTC')""", + AND due_at IS DISTINCT FROM ($3::text::timestamptz AT TIME ZONE 'UTC')""", lens.id, lens.version, scheduled_at.isoformat() if (scheduled_at := due_at(lens)) else None, @@ -288,7 +288,7 @@ class LensRepository: SELECT data FROM "LiteLLM_Lens" WHERE id=$2 AND version=$3 FOR UPDATE ), updated AS ( UPDATE "LiteLLM_Lens" SET data=$1::jsonb, version=version+1, - due_at=($4::timestamptz AT TIME ZONE 'UTC') + due_at=($4::text::timestamptz AT TIME ZONE 'UTC') WHERE id=$2 AND version=$3 AND EXISTS (SELECT 1 FROM previous) RETURNING id ) , archived AS (INSERT INTO "LiteLLM_LensRun" (id, lens_id, created_at, data)