diff --git a/src/google/adk/a2a/converters/event_converter.py b/src/google/adk/a2a/converters/event_converter.py index ab66e9001a..47d5f077ab 100644 --- a/src/google/adk/a2a/converters/event_converter.py +++ b/src/google/adk/a2a/converters/event_converter.py @@ -140,6 +140,7 @@ def _get_context_metadata( ("custom_metadata", event.custom_metadata), ("usage_metadata", event.usage_metadata), ("error_code", event.error_code), + ("actions", event.actions), ] for field_name, field_value in optional_fields: diff --git a/tests/unittests/a2a/converters/test_event_converter.py b/tests/unittests/a2a/converters/test_event_converter.py index cb3f7a6858..e6db22e0ae 100644 --- a/tests/unittests/a2a/converters/test_event_converter.py +++ b/tests/unittests/a2a/converters/test_event_converter.py @@ -83,8 +83,7 @@ def setup_method(self): self.mock_event.error_message = None self.mock_event.content = None self.mock_event.long_running_tool_ids = None - self.mock_event.actions = Mock(spec=EventActions) - self.mock_event.actions.artifact_delta = None + self.mock_event.actions = None def test_get_adk_event_metadata_key_success(self): """Test successful metadata key generation.""" @@ -161,6 +160,8 @@ def test_get_context_metadata_with_optional_fields(self): mock_metadata = Mock() mock_metadata.model_dump.return_value = {"test": "value"} self.mock_event.grounding_metadata = mock_metadata + self.mock_event.actions = Mock() + self.mock_event.actions.model_dump.return_value = {"test_actions": "value"} result = _get_context_metadata( self.mock_event, self.mock_invocation_context @@ -169,7 +170,11 @@ def test_get_context_metadata_with_optional_fields(self): assert result is not None assert f"{ADK_METADATA_KEY_PREFIX}branch" in result assert f"{ADK_METADATA_KEY_PREFIX}grounding_metadata" in result + assert f"{ADK_METADATA_KEY_PREFIX}actions" in result assert result[f"{ADK_METADATA_KEY_PREFIX}branch"] == "test-branch" + assert result[f"{ADK_METADATA_KEY_PREFIX}actions"] == { + "test_actions": "value" + } # Check if error_code is in the result - it should be there since we set it if f"{ADK_METADATA_KEY_PREFIX}error_code" in result: