Skip to content

Commit d5dcef2

Browse files
wuliang229copybara-github
authored andcommitted
fix(config): forbid extra fields in AgentToolConfig
PiperOrigin-RevId: 789038376
1 parent 6191412 commit d5dcef2

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/google/adk/tools/agent_tool.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
from google.genai import types
2121
from pydantic import BaseModel
22+
from pydantic import ConfigDict
2223
from pydantic import model_validator
2324
from typing_extensions import override
2425

@@ -27,6 +28,7 @@
2728
from ..memory.in_memory_memory_service import InMemoryMemoryService
2829
from ._forwarding_artifact_service import ForwardingArtifactService
2930
from .base_tool import BaseTool
31+
from .base_tool import BaseToolConfig
3032
from .base_tool import ToolArgsConfig
3133
from .tool_context import ToolContext
3234

@@ -175,7 +177,7 @@ def from_config(
175177
)
176178

177179

178-
class AgentToolConfig(BaseModel):
180+
class AgentToolConfig(BaseToolConfig):
179181
"""The config for the AgentTool."""
180182

181183
agent: AgentRefConfig

src/google/adk/tools/base_tool.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,3 +259,10 @@ def my_function(config: ToolArgsConfig) -> BaseTool:
259259

260260
args: Optional[ToolArgsConfig] = None
261261
"""The args for the tool."""
262+
263+
264+
class BaseToolConfig(BaseModel):
265+
"""The base configurations for all the tools."""
266+
267+
model_config = ConfigDict(extra="forbid")
268+
"""Forbid extra fields."""

0 commit comments

Comments
 (0)