Skip to content

Commit b4f1ebe

Browse files
wuliang229copybara-github
authored andcommitted
chore(config): replace @working_in_progress with @experimental for config agent feature
PiperOrigin-RevId: 792803076
1 parent 944e39e commit b4f1ebe

16 files changed

+36
-61
lines changed

src/google/adk/agents/agent_config.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from pydantic import Discriminator
2121
from pydantic import RootModel
2222

23-
from ..utils.feature_decorator import working_in_progress
23+
from ..utils.feature_decorator import experimental
2424
from .base_agent import BaseAgentConfig
2525
from .llm_agent_config import LlmAgentConfig
2626
from .loop_agent_config import LoopAgentConfig
@@ -55,7 +55,7 @@ def agent_config_discriminator(v: Any):
5555

5656
# Use a RootModel to represent the agent directly at the top level.
5757
# The `discriminator` is applied to the union within the RootModel.
58-
@working_in_progress("AgentConfig is not ready for use.")
58+
@experimental
5959
class AgentConfig(RootModel[ConfigsUnion]):
6060
"""The config for the YAML schema to create an agent."""
6161

src/google/adk/agents/base_agent.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
from typing_extensions import TypeAlias
4040

4141
from ..events.event import Event
42-
from ..utils.feature_decorator import working_in_progress
42+
from ..utils.feature_decorator import experimental
4343
from .base_agent_config import BaseAgentConfig
4444
from .callback_context import CallbackContext
4545
from .common_configs import AgentRefConfig
@@ -506,6 +506,7 @@ def __set_parent_agent_for_sub_agents(self) -> BaseAgent:
506506

507507
@final
508508
@classmethod
509+
@experimental
509510
def from_config(
510511
cls: Type[SelfAgent],
511512
config: BaseAgentConfig,
@@ -529,6 +530,7 @@ def from_config(
529530
return cls(**kwargs)
530531

531532
@classmethod
533+
@experimental
532534
def _parse_config(
533535
cls: Type[SelfAgent],
534536
config: BaseAgentConfig,

src/google/adk/agents/base_agent_config.py

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -14,46 +14,25 @@
1414

1515
from __future__ import annotations
1616

17-
import inspect
18-
from typing import Any
19-
from typing import AsyncGenerator
20-
from typing import Awaitable
21-
from typing import Callable
22-
from typing import Dict
23-
from typing import final
2417
from typing import List
2518
from typing import Literal
26-
from typing import Mapping
2719
from typing import Optional
2820
from typing import Type
2921
from typing import TYPE_CHECKING
3022
from typing import TypeVar
3123
from typing import Union
3224

33-
from google.genai import types
34-
from opentelemetry import trace
3525
from pydantic import BaseModel
3626
from pydantic import ConfigDict
37-
from pydantic import Field
38-
from pydantic import field_validator
39-
from pydantic import model_validator
40-
from typing_extensions import override
41-
from typing_extensions import TypeAlias
42-
43-
from ..events.event import Event
44-
from ..utils.feature_decorator import working_in_progress
45-
from .callback_context import CallbackContext
27+
28+
from ..utils.feature_decorator import experimental
4629
from .common_configs import AgentRefConfig
4730
from .common_configs import CodeConfig
4831

49-
if TYPE_CHECKING:
50-
from .invocation_context import InvocationContext
51-
52-
5332
TBaseAgentConfig = TypeVar('TBaseAgentConfig', bound='BaseAgentConfig')
5433

5534

56-
@working_in_progress('BaseAgentConfig is not ready for use.')
35+
@experimental
5736
class BaseAgentConfig(BaseModel):
5837
"""The config for the YAML schema of a BaseAgent.
5938

src/google/adk/agents/common_configs.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@
2323
from pydantic import ConfigDict
2424
from pydantic import model_validator
2525

26-
from ..utils.feature_decorator import working_in_progress
26+
from ..utils.feature_decorator import experimental
2727

2828

29-
@working_in_progress("ArgumentConfig is not ready for use.")
29+
@experimental
3030
class ArgumentConfig(BaseModel):
3131
"""An argument passed to a function or a class's constructor."""
3232

@@ -42,7 +42,7 @@ class ArgumentConfig(BaseModel):
4242
"""The argument value."""
4343

4444

45-
@working_in_progress("CodeConfig is not ready for use.")
45+
@experimental
4646
class CodeConfig(BaseModel):
4747
"""Code reference config for a variable, a function, or a class.
4848
@@ -80,6 +80,7 @@ class CodeConfig(BaseModel):
8080
"""
8181

8282

83+
@experimental
8384
class AgentRefConfig(BaseModel):
8485
"""The config for the reference to another agent."""
8586

src/google/adk/agents/config_agent_utils.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@
2222

2323
import yaml
2424

25-
from ..utils.feature_decorator import working_in_progress
25+
from ..utils.feature_decorator import experimental
2626
from .agent_config import AgentConfig
2727
from .base_agent import BaseAgent
2828
from .base_agent_config import BaseAgentConfig
2929
from .common_configs import AgentRefConfig
3030
from .common_configs import CodeConfig
3131

3232

33-
@working_in_progress("from_config is not ready for use.")
33+
@experimental
3434
def from_config(config_path: str) -> BaseAgent:
3535
"""Build agent from a configfile path.
3636
@@ -79,7 +79,6 @@ def _resolve_agent_class(agent_class: str) -> type[BaseAgent]:
7979
)
8080

8181

82-
@working_in_progress("_load_config_from_path is not ready for use.")
8382
def _load_config_from_path(config_path: str) -> AgentConfig:
8483
"""Load an agent's configuration from a YAML file.
8584
@@ -103,7 +102,7 @@ def _load_config_from_path(config_path: str) -> AgentConfig:
103102
return AgentConfig.model_validate(config_data)
104103

105104

106-
@working_in_progress("resolve_fully_qualified_name is not ready for use.")
105+
@experimental
107106
def resolve_fully_qualified_name(name: str) -> Any:
108107
try:
109108
module_path, obj_name = name.rsplit(".", 1)
@@ -113,7 +112,7 @@ def resolve_fully_qualified_name(name: str) -> Any:
113112
raise ValueError(f"Invalid fully qualified name: {name}") from e
114113

115114

116-
@working_in_progress("resolve_agent_reference is not ready for use.")
115+
@experimental
117116
def resolve_agent_reference(
118117
ref_config: AgentRefConfig, referencing_agent_config_abs_path: str
119118
) -> BaseAgent:
@@ -143,7 +142,6 @@ def resolve_agent_reference(
143142
raise ValueError("AgentRefConfig must have either 'code' or 'config_path'")
144143

145144

146-
@working_in_progress("_resolve_agent_code_reference is not ready for use.")
147145
def _resolve_agent_code_reference(code: str) -> Any:
148146
"""Resolve a code reference to an actual agent instance.
149147
@@ -172,7 +170,7 @@ def _resolve_agent_code_reference(code: str) -> Any:
172170
return obj
173171

174172

175-
@working_in_progress("resolve_code_reference is not ready for use.")
173+
@experimental
176174
def resolve_code_reference(code_config: CodeConfig) -> Any:
177175
"""Resolve a code reference to actual Python object.
178176
@@ -201,7 +199,7 @@ def resolve_code_reference(code_config: CodeConfig) -> Any:
201199
return obj
202200

203201

204-
@working_in_progress("resolve_callbacks is not ready for use.")
202+
@experimental
205203
def resolve_callbacks(callbacks_config: List[CodeConfig]) -> Any:
206204
"""Resolve callbacks from configuration.
207205

src/google/adk/agents/llm_agent.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
from ..tools.function_tool import FunctionTool
5252
from ..tools.tool_configs import ToolConfig
5353
from ..tools.tool_context import ToolContext
54-
from ..utils.feature_decorator import working_in_progress
54+
from ..utils.feature_decorator import experimental
5555
from .base_agent import BaseAgent
5656
from .base_agent_config import BaseAgentConfig
5757
from .callback_context import CallbackContext
@@ -521,7 +521,7 @@ def __validate_generate_content_config(
521521
return generate_content_config
522522

523523
@classmethod
524-
@working_in_progress('LlmAgent._resolve_tools is not ready for use.')
524+
@experimental
525525
def _resolve_tools(
526526
cls, tool_configs: list[ToolConfig], config_abs_path: str
527527
) -> list[Any]:
@@ -580,6 +580,7 @@ def _resolve_tools(
580580

581581
@override
582582
@classmethod
583+
@experimental
583584
def _parse_config(
584585
cls: Type[LlmAgent],
585586
config: LlmAgentConfig,

src/google/adk/agents/loop_agent.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
from ..agents.invocation_context import InvocationContext
2929
from ..events.event import Event
30-
from ..utils.feature_decorator import working_in_progress
30+
from ..utils.feature_decorator import experimental
3131
from .base_agent import BaseAgent
3232
from .base_agent_config import BaseAgentConfig
3333
from .loop_agent_config import LoopAgentConfig
@@ -78,6 +78,7 @@ async def _run_live_impl(
7878

7979
@override
8080
@classmethod
81+
@experimental
8182
def _parse_config(
8283
cls: type[LoopAgent],
8384
config: LoopAgentConfig,

src/google/adk/agents/loop_agent_config.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@
2121

2222
from pydantic import ConfigDict
2323

24-
from ..utils.feature_decorator import working_in_progress
24+
from ..utils.feature_decorator import experimental
2525
from .base_agent_config import BaseAgentConfig
2626

2727

28-
@working_in_progress('LoopAgentConfig is not ready for use.')
28+
@experimental
2929
class LoopAgentConfig(BaseAgentConfig):
3030
"""The config for the YAML schema of a LoopAgent."""
3131

src/google/adk/agents/parallel_agent.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
from typing_extensions import override
2727

2828
from ..events.event import Event
29-
from ..utils.feature_decorator import working_in_progress
3029
from .base_agent import BaseAgent
3130
from .base_agent_config import BaseAgentConfig
3231
from .invocation_context import InvocationContext

src/google/adk/agents/parallel_agent_config.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020

2121
from pydantic import ConfigDict
2222

23-
from ..utils.feature_decorator import working_in_progress
23+
from ..utils.feature_decorator import experimental
2424
from .base_agent_config import BaseAgentConfig
2525

2626

27-
@working_in_progress('ParallelAgentConfig is not ready for use.')
27+
@experimental
2828
class ParallelAgentConfig(BaseAgentConfig):
2929
"""The config for the YAML schema of a ParallelAgent."""
3030

0 commit comments

Comments
 (0)