From 57f0b6d75bb9715167eaea15900786808eacb89f Mon Sep 17 00:00:00 2001 From: kigland Date: Sun, 8 Mar 2026 12:28:03 +0800 Subject: [PATCH] fix: address review feedback on exception handling - mcp_service.py: remove unnecessary try/except around debug log, use len(available_tools.tools) to match actual iteration target - bedrock_adapter.py, aws/llm.py: add AttributeError to except tuple to handle None content (previously caught by bare except) --- src/pipecat/adapters/services/bedrock_adapter.py | 2 +- src/pipecat/services/aws/llm.py | 2 +- src/pipecat/services/mcp_service.py | 5 +---- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/pipecat/adapters/services/bedrock_adapter.py b/src/pipecat/adapters/services/bedrock_adapter.py index 8fd474cb6..d63c5cf0f 100644 --- a/src/pipecat/adapters/services/bedrock_adapter.py +++ b/src/pipecat/adapters/services/bedrock_adapter.py @@ -209,7 +209,7 @@ class AWSBedrockLLMAdapter(BaseLLMAdapter[AWSBedrockLLMInvocationParams]): tool_result_content = [{"json": content_json}] else: tool_result_content = [{"text": message["content"]}] - except (json.JSONDecodeError, ValueError): + except (json.JSONDecodeError, ValueError, AttributeError): tool_result_content = [{"text": message["content"]}] return { diff --git a/src/pipecat/services/aws/llm.py b/src/pipecat/services/aws/llm.py index 8f614cf8f..ea8a76b8f 100644 --- a/src/pipecat/services/aws/llm.py +++ b/src/pipecat/services/aws/llm.py @@ -369,7 +369,7 @@ class AWSBedrockLLMContext(OpenAILLMContext): tool_result_content = [{"json": content_json}] else: tool_result_content = [{"text": message["content"]}] - except (json.JSONDecodeError, ValueError): + except (json.JSONDecodeError, ValueError, AttributeError): tool_result_content = [{"text": message["content"]}] return { diff --git a/src/pipecat/services/mcp_service.py b/src/pipecat/services/mcp_service.py index 302185719..d4f0807b8 100644 --- a/src/pipecat/services/mcp_service.py +++ b/src/pipecat/services/mcp_service.py @@ -296,10 +296,7 @@ class MCPClient(BaseObject): available_tools = await session.list_tools() tool_schemas: List[FunctionSchema] = [] - try: - logger.debug(f"Found {len(available_tools)} available tools") - except Exception: - pass + logger.debug(f"Found {len(available_tools.tools)} available tools") for tool in available_tools.tools: tool_name = tool.name