From d5dcef2cf0839daa51e894bd0792b8314d7028d4 Mon Sep 17 00:00:00 2001 From: Liang Wu Date: Wed, 30 Jul 2025 14:13:15 -0700 Subject: [PATCH] fix(config): forbid extra fields in AgentToolConfig PiperOrigin-RevId: 789038376 --- src/google/adk/tools/agent_tool.py | 4 +++- src/google/adk/tools/base_tool.py | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/google/adk/tools/agent_tool.py b/src/google/adk/tools/agent_tool.py index 7fa92df6..de46b9a7 100644 --- a/src/google/adk/tools/agent_tool.py +++ b/src/google/adk/tools/agent_tool.py @@ -19,6 +19,7 @@ from typing import TYPE_CHECKING from google.genai import types from pydantic import BaseModel +from pydantic import ConfigDict from pydantic import model_validator from typing_extensions import override @@ -27,6 +28,7 @@ from ..agents.common_configs import AgentRefConfig from ..memory.in_memory_memory_service import InMemoryMemoryService from ._forwarding_artifact_service import ForwardingArtifactService from .base_tool import BaseTool +from .base_tool import BaseToolConfig from .base_tool import ToolArgsConfig from .tool_context import ToolContext @@ -175,7 +177,7 @@ class AgentTool(BaseTool): ) -class AgentToolConfig(BaseModel): +class AgentToolConfig(BaseToolConfig): """The config for the AgentTool.""" agent: AgentRefConfig diff --git a/src/google/adk/tools/base_tool.py b/src/google/adk/tools/base_tool.py index 7db7533c..b13f3aba 100644 --- a/src/google/adk/tools/base_tool.py +++ b/src/google/adk/tools/base_tool.py @@ -259,3 +259,10 @@ class ToolConfig(BaseModel): args: Optional[ToolArgsConfig] = None """The args for the tool.""" + + +class BaseToolConfig(BaseModel): + """The base configurations for all the tools.""" + + model_config = ConfigDict(extra="forbid") + """Forbid extra fields."""