fix: properly serialize Pydantic HttpUrl in webhook config

Use model_dump(mode='json') instead of deprecated dict() method to ensure
Pydantic special types (HttpUrl, UUID, etc.) are properly serialized to
JSON-compatible native Python types.

This fixes webhook delivery failures caused by HttpUrl objects remaining
as Pydantic types in the webhook_config dict, which caused JSON
serialization errors and httpx request failures.

Also update mcp requirement to >=1.18.0 for compatibility.
This commit is contained in:
unclecode
2025-10-22 15:50:25 +08:00
parent 52da8d72bc
commit f8606f6865
2 changed files with 2 additions and 2 deletions

View File

@@ -86,7 +86,7 @@ async def crawl_job_enqueue(
): ):
webhook_config = None webhook_config = None
if payload.webhook_config: if payload.webhook_config:
webhook_config = payload.webhook_config.dict() webhook_config = payload.webhook_config.model_dump(mode='json')
return await handle_crawl_job( return await handle_crawl_job(
_redis, _redis,

View File

@@ -12,6 +12,6 @@ pydantic>=2.11
rank-bm25==0.2.2 rank-bm25==0.2.2
anyio==4.9.0 anyio==4.9.0
PyJWT==2.10.1 PyJWT==2.10.1
mcp>=1.6.0 mcp>=1.18.0
websockets>=15.0.1 websockets>=15.0.1
httpx[http2]>=0.27.2 httpx[http2]>=0.27.2