Skip to content

Commit f0183a9

Browse files
seanzhougooglecopybara-github
authored andcommitted
feat: Enable A2A features as experimental
PiperOrigin-RevId: 776656783
1 parent 3f621ae commit f0183a9

File tree

6 files changed

+18
-19
lines changed

6 files changed

+18
-19
lines changed

src/google/adk/a2a/converters/event_converter.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
from ...agents.invocation_context import InvocationContext
4141
from ...events.event import Event
4242
from ...flows.llm_flows.functions import REQUEST_EUC_FUNCTION_CALL_NAME
43-
from ...utils.feature_decorator import working_in_progress
43+
from ...utils.feature_decorator import experimental
4444
from .part_converter import A2A_DATA_PART_METADATA_IS_LONG_RUNNING_KEY
4545
from .part_converter import A2A_DATA_PART_METADATA_TYPE_FUNCTION_CALL
4646
from .part_converter import A2A_DATA_PART_METADATA_TYPE_KEY
@@ -242,7 +242,6 @@ def _process_long_running_tool(a2a_part: A2APart, event: Event) -> None:
242242
] = True
243243

244244

245-
@working_in_progress
246245
def convert_a2a_task_to_event(
247246
a2a_task: Task,
248247
author: Optional[str] = None,
@@ -298,7 +297,7 @@ def convert_a2a_task_to_event(
298297
raise
299298

300299

301-
@working_in_progress
300+
@experimental
302301
def convert_a2a_message_to_event(
303302
a2a_message: Message,
304303
author: Optional[str] = None,
@@ -394,7 +393,7 @@ def convert_a2a_message_to_event(
394393
raise RuntimeError(f"Failed to convert message: {e}") from e
395394

396395

397-
@working_in_progress
396+
@experimental
398397
def convert_event_to_a2a_message(
399398
event: Event, invocation_context: InvocationContext, role: Role = Role.agent
400399
) -> Optional[Message]:
@@ -545,7 +544,7 @@ def _create_status_update_event(
545544
)
546545

547546

548-
@working_in_progress
547+
@experimental
549548
def convert_event_to_a2a_events(
550549
event: Event,
551550
invocation_context: InvocationContext,

src/google/adk/a2a/converters/part_converter.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
from google.genai import types as genai_types
4141

42-
from ...utils.feature_decorator import working_in_progress
42+
from ...utils.feature_decorator import experimental
4343

4444
logger = logging.getLogger('google_adk.' + __name__)
4545

@@ -51,7 +51,7 @@
5151
A2A_DATA_PART_METADATA_TYPE_EXECUTABLE_CODE = 'executable_code'
5252

5353

54-
@working_in_progress
54+
@experimental
5555
def convert_a2a_part_to_genai_part(
5656
a2a_part: a2a_types.Part,
5757
) -> Optional[genai_types.Part]:
@@ -140,7 +140,7 @@ def convert_a2a_part_to_genai_part(
140140
return None
141141

142142

143-
@working_in_progress
143+
@experimental
144144
def convert_genai_part_to_a2a_part(
145145
part: genai_types.Part,
146146
) -> Optional[a2a_types.Part]:

src/google/adk/a2a/converters/request_converter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
from google.genai import types as genai_types
3232

3333
from ...runners import RunConfig
34-
from ...utils.feature_decorator import working_in_progress
34+
from ...utils.feature_decorator import experimental
3535
from .part_converter import convert_a2a_part_to_genai_part
3636

3737

@@ -48,7 +48,7 @@ def _get_user_id(request: RequestContext) -> str:
4848
return f'A2A_USER_{request.context_id}'
4949

5050

51-
@working_in_progress
51+
@experimental
5252
def convert_a2a_request_to_adk_run_args(
5353
request: RequestContext,
5454
) -> dict[str, Any]:

src/google/adk/a2a/executor/a2a_agent_executor.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
from pydantic import BaseModel
4949
from typing_extensions import override
5050

51-
from ...utils.feature_decorator import working_in_progress
51+
from ...utils.feature_decorator import experimental
5252
from ..converters.event_converter import convert_event_to_a2a_events
5353
from ..converters.request_converter import convert_a2a_request_to_adk_run_args
5454
from ..converters.utils import _get_adk_metadata_key
@@ -57,14 +57,14 @@
5757
logger = logging.getLogger('google_adk.' + __name__)
5858

5959

60-
@working_in_progress
60+
@experimental
6161
class A2aAgentExecutorConfig(BaseModel):
6262
"""Configuration for the A2aAgentExecutor."""
6363

6464
pass
6565

6666

67-
@working_in_progress
67+
@experimental
6868
class A2aAgentExecutor(AgentExecutor):
6969
"""An AgentExecutor that runs an ADK Agent against an A2A request and
7070
publishes updates to an event queue.

src/google/adk/a2a/executor/task_result_aggregator.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@
1919
from a2a.types import TaskState
2020
from a2a.types import TaskStatusUpdateEvent
2121

22-
from ...utils.feature_decorator import working_in_progress
22+
from ...utils.feature_decorator import experimental
2323

2424

25-
@working_in_progress
25+
@experimental
2626
class TaskResultAggregator:
2727
"""Aggregates the task status updates and provides the final task state."""
2828

src/google/adk/agents/remote_a2a_agent.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
from ..flows.llm_flows.contents import _convert_foreign_event
6161
from ..flows.llm_flows.contents import _is_other_agent_reply
6262
from ..flows.llm_flows.functions import find_matching_function_call
63-
from ..utils.feature_decorator import working_in_progress
63+
from ..utils.feature_decorator import experimental
6464
from .base_agent import BaseAgent
6565

6666
# Constants
@@ -71,21 +71,21 @@
7171
logger = logging.getLogger("google_adk." + __name__)
7272

7373

74-
@working_in_progress
74+
@experimental
7575
class AgentCardResolutionError(Exception):
7676
"""Raised when agent card resolution fails."""
7777

7878
pass
7979

8080

81-
@working_in_progress
81+
@experimental
8282
class A2AClientError(Exception):
8383
"""Raised when A2A client operations fail."""
8484

8585
pass
8686

8787

88-
@working_in_progress
88+
@experimental
8989
class RemoteA2aAgent(BaseAgent):
9090
"""Agent that communicates with a remote A2A agent via A2A client.
9191

0 commit comments

Comments
 (0)