diff --git a/homeassistant/components/google_generative_ai_conversation/entity.py b/homeassistant/components/google_generative_ai_conversation/entity.py index cfbe08a8fe77..08f60d0cb8fd 100644 --- a/homeassistant/components/google_generative_ai_conversation/entity.py +++ b/homeassistant/components/google_generative_ai_conversation/entity.py @@ -271,7 +271,12 @@ def _create_google_tool_response_parts( return [ Part.from_function_response( name=tool_result.tool_name, - response=_validate_tool_results(tool_result.tool_result), + response=_validate_tool_results( + { + "data": tool_result.result.data, + "error": tool_result.result.error, + } + ), ) for tool_result in parts ] diff --git a/tests/components/google_generative_ai_conversation/snapshots/test_conversation.ambr b/tests/components/google_generative_ai_conversation/snapshots/test_conversation.ambr index 9996cbab1d23..36544e6b152e 100644 --- a/tests/components/google_generative_ai_conversation/snapshots/test_conversation.ambr +++ b/tests/components/google_generative_ai_conversation/snapshots/test_conversation.ambr @@ -27,16 +27,12 @@ name='HassGetCurrentTime', response={ 'data': { - 'failed': [], - 'success': [] + 'data': {<... 2 items at Max depth ...>}, + 'response_type': 'action_done', + 'speech': {<... 1 item at Max depth ...>}, + 'speech_slots': {<... 1 item at Max depth ...>} }, - 'response_type': 'action_done', - 'speech': { - 'plain': {<... 2 items at Max depth ...>} - }, - 'speech_slots': { - 'time': '16:24:17.813343' - } + 'error': False } ) ), @@ -92,7 +88,10 @@ function_response=FunctionResponse( name='test_tool', response={ - 'result': 'Test response' + 'data': { + 'result': 'Test response' + }, + 'error': False } ) ), diff --git a/tests/components/google_generative_ai_conversation/test_conversation.py b/tests/components/google_generative_ai_conversation/test_conversation.py index a1ba7bde51d7..cea19de23b2e 100644 --- a/tests/components/google_generative_ai_conversation/test_conversation.py +++ b/tests/components/google_generative_ai_conversation/test_conversation.py @@ -269,7 +269,8 @@ async def test_function_call( "name": "test_tool", "parts": None, "response": { - "result": "Test response", + "data": {"result": "Test response"}, + "error": False, }, "scheduling": None, "will_continue": None,