From a921cc4c5e6993adcbf2e332c2c839149a934392 Mon Sep 17 00:00:00 2001 From: Alexander Alderman Webb Date: Fri, 7 Nov 2025 15:09:27 +0100 Subject: [PATCH] fix(pydantic-ai): Do not fail on new ToolManager._call_tool() parameters --- sentry_sdk/integrations/pydantic_ai/patches/tools.py | 12 ++++-------- tox.ini | 6 +++--- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/sentry_sdk/integrations/pydantic_ai/patches/tools.py b/sentry_sdk/integrations/pydantic_ai/patches/tools.py index 25c2cd6afd..671b00ec95 100644 --- a/sentry_sdk/integrations/pydantic_ai/patches/tools.py +++ b/sentry_sdk/integrations/pydantic_ai/patches/tools.py @@ -37,8 +37,8 @@ def _patch_tool_execution(): original_call_tool = ToolManager._call_tool @wraps(original_call_tool) - async def wrapped_call_tool(self, call, allow_partial, wrap_validation_errors): - # type: (Any, Any, bool, bool) -> Any + async def wrapped_call_tool(self, call, *args, **kwargs): + # type: (Any, Any, *Any, **Any) -> Any # Extract tool info before calling original name = call.tool_name @@ -64,9 +64,7 @@ async def wrapped_call_tool(self, call, allow_partial, wrap_validation_errors): with execute_tool_span(name, args_dict, agent, tool_type=tool_type) as span: try: - result = await original_call_tool( - self, call, allow_partial, wrap_validation_errors - ) + result = await original_call_tool(self, call, *args, **kwargs) update_execute_tool_span(span, result) return result except Exception as exc: @@ -74,8 +72,6 @@ async def wrapped_call_tool(self, call, allow_partial, wrap_validation_errors): raise exc from None # No span context - just call original - return await original_call_tool( - self, call, allow_partial, wrap_validation_errors - ) + return await original_call_tool(self, call, *args, **kwargs) ToolManager._call_tool = wrapped_call_tool diff --git a/tox.ini b/tox.ini index 9a18662b0e..67c0450d8d 100644 --- a/tox.ini +++ b/tox.ini @@ -434,9 +434,9 @@ deps = openai_agents: pytest-asyncio pydantic_ai-v1.0.18: pydantic-ai==1.0.18 - pydantic_ai-v1.3.0: pydantic-ai==1.3.0 - pydantic_ai-v1.6.0: pydantic-ai==1.6.0 - pydantic_ai-v1.10.0: pydantic-ai==1.10.0 + pydantic_ai-v1.4.0: pydantic-ai==1.4.0 + pydantic_ai-v1.8.0: pydantic-ai==1.8.0 + pydantic_ai-v1.12.0: pydantic-ai==1.12.0 pydantic_ai: pytest-asyncio